目前同伴遇到一个问题,他用JDBC去连接mysql,遇到了错误:

The last packet sent successfully to the server was 0 ...

这个问题的暴露背景:

  • 服务器mysql命令行可以连接
  • phpmyadmin的php客户端可以连接
  • java失败,暴露上面的错误
  • netstat -anpt无法查阅到mysql端口

于是查阅资料发现,最终问题是skip-network的问题,但是从目前mysql的my.cnf也没发现开启这个配置(正确的处理方式是关闭这个配置)
同时结合无法查询到mysql端口情况,于是

ps -aux (-ef) | grep mysql

发现有几个一年前驻守的mysql进程开启了这个配置,

root      1285  0.0  0.0   4446  1636 ?        S    Oct02   0:00 /bin/sh /usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking
mysql     1373  0.1  2.4 832272 99124 ?        Sl   Oct02  12:17 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306

kill -9 之后,解决问题。

文章来源于互联网:[MYSQL]从JDBC的连接失败找问题:The last packet sent successfully to the server was 0

发表评论