这是在VPS \ Centos服务器上。 MySQL服务器是预configuration的。
我在Tomcat上运行Java应用程序
我的Java Web应用程序无法连接到MySQL服务器。
我得到一个错误 –
“由于:java.net.ConnectException:连接被拒绝”
我怀疑这是一个configuration问题,而不是一个编码问题,因此我已经在ServerFault上发布了这个
是的,同一个networking应用程序可以连接到不同的Linux机器上的MySQL
这是我提供给我的Java应用程序的URL(注意,它假定为默认端口)
url =“jdbc:mysql:// localhost / pickup游戏”
我的第一个怀疑是我在一个非默认的端口上运行
所以我试图findmySQL服务器运行的端口
我尝试了如何检查运行在哪个端口上的每一个技巧
但是没有运气!
显示全局variables像'PORT';
这显示端口0
netstat -tlnp根本不显示mysql
/etc/my.cnf它没有端口input
telnet localhost 3306不连接
而且,如果你想知道如果MySQL服务器是否运行在所有这一切是我知道肯定,因为我已经能够使用mysql命令login也
#ps -ef | grep'mysql'
根31839 27662 0 00:49 pts / 3 00:00:00 grep mysql
根32452 1 0 Apr02? 00:00:00 / bin / sh / usr / bin / mysqld_safe –skip-grant-tables –skip-networking
mysql 32504 32452 0 Apr02? 00:00:06 / usr / libexec / mysqld –basedir = / usr –datadir = / var / lib / mysql –user = mysql –pid-file = / var / run / mysqld / mysqld.pid – skip-external-locking –socket = / var / lib / mysql / mysql.sock –skip-grant-tables –skip-networking
请注意–skip-networking参数
这是否与这个问题有关?
mysql>select主机,用户从mysql.user其中user ='admin';
+ ———– + ——- +
| HOST | USER |
+ ———– + ——- +
| localhost | admin |
+ ———– + ——- +
以上是否有轴承?
任何解释为什么我无法通过telnet连接到端口3306的MySQL服务器?
或者为什么它显示在netstat下?
任何build议,我应该尝试下一步?
请注意–skip-networking参数
是的,很可能是问题的原因。 删除skip-networking并在my.cnf中添加“bind-address = 127.0.0.1”。
我猜java只通过networking连接,并没有使用套接字连接,这是你使用mysql cli工具。
MySQL服务器是预configuration的。
这几乎与未configuration相同。 安全性不好,SQL模式不好,性能不好,只是没有准备好生产和testing。
刚开始阅读手册,并创build一个良好的configuration。 不要忘记备份,mysqldump也需要调整。 默认情况下,它不备份视图,存储过程和事件。 除非您testing了备份,否则不要指望它们。