阿里云服务器MySQL无法连接问题解决纪实
作者:fbysssQQ:溜酒酒吧酒吧吾散blog:blog.csdn.net/fbysss声明:本文由fbysss原创,转载请注明出处背景:在调试程序的时候,发现数据库访问相关的环节出现错误:12:16:40,941 WARN ThreadPoolAsynchronousRunner:608 - com.mchange.v2.async.ThreadPoolAsync
QQ:溜酒酒吧酒吧吾散
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
背景:
在调试程序的时候,发现数据库访问相关的环节出现错误:
12:16:40,941 WARN ThreadPoolAsynchronousRunner:608 - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1278b126 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
12:16:40,947 WARN ThreadPoolAsynchronousRunner:624 - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1278b126 -- APPARENT DEADLOCK!!! Complete Status:
检查配置项,一切正常。
分析:
1.进入命令行,telnet serverip 3306,是有响应的。
2.用mysql客户端直接连接测试:mysql -hdbhost -uusername -p,报错:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
3.这种情况还真没遇到过。搜索一下,很多答案,无非是在my.cnf中去掉bind-address或者添加skip-name-resolve 以加速客户端连接速度。
看了一下配置文件,第一个根本就没有,第二个加了也没用。
其实仔细分析一下,刚才还好好的,突然不行了。最大的可能不在于服务器本身,而是网络或者服务器之外的环境。
4.关闭防火墙:虽然可以telnet通,还是关闭一下试试吧。服务器和客户端的防火墙都关了,还是一样。
5.尝试换一个端口号呢?于是,在my.cnf中,[mysqld]端增加一句:port=3307
sudo service mysqld restart,再试,居然OK了。
结论:
因为这台服务器只有本人在使用,所以,很大可能性,是阿里云服务器环境上有什么外围的设置导致了这个问题。
以上分析过程,希望可以给出现类似问题的同仁带来启发,迅速解决问题。
更多推荐
所有评论(0)