• 129阅读
  • 1回复

navicat远程连接阿里云ECS上的MYSQL报Lost connection to MySQL server at

楼层直达
C4d'z(<  
C'y2!Q /"  
问题现象 ti6X=@ P:  
3{t[>O;  
gp{C89gP  
MySQL 远程连接报错:Lost connection to MySQL server at ‘reading initial communication packet‘ \xl$z *zI  
[wm0a4fg  
解决方案 V>Z4gZp5sc  
NQ[X=a8N  
: 7"Q  
1、检查是否有防火墙限制2、检查 MySQL 是否有访问权限use mysql;Grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘密码‘ with grant option;flush privileges;   Gds(.]_  
3、检查 my.ini 文件里是否设置了 bind-address 参数,如果有将该条注释掉即可。 B|"i`{>  
4、在 my.ini 中添加 skip-name-resolvevi /etc/my.cnf[mysqld]skip-name-resolve  #增加这个 aZ_3@I{d`  
5、修改 hosts.allow EwV$2AK  
vi /etc/hosts.allow oNPvksdC;  
mysqld-max : ALL :ALLOW   #增加这个
 
只看该作者 安逸沙发  发表于: 04-29
远程管理数据库的时候,以前都是用phpmyadmin,后来就再也不用这种了,一来是因来速度慢,二来扔在服务器上,人人都可以访问太危险了。。所以我现在在用navicat的ssh方式访问。其实我比较喜欢用SQLyog的,但是它没有mac的版本。 =5-|H;da  
OK,现在我们开始用nvaicat来访问吧。 JyBsOC3  
一台服务器正常了,二台正常了,结果,第三台不正常了。报错: '0!IF&p'  
G'>z~I]6S  
XML/HTML代码 G 39  
Lost connection to MySQL server at 'reading initial communication packet', system error: 0   I=,u7w`m  
然后找资料了。 u/% 4WgA  
1、有人说,在mysqld启动的时候加入skip-name-resolve,于是我在my.cnf加上,也没用。。。 W1UG\d`2  
2、又有人说,需要在/etc/hosts.allow里加上mysqld:allow,好吧,我继续加上,仍然没用。参考:http://www.bramschoenmakers.nl/en/node/595 T&2aNkuG  
@42!\1YT  
o.}?K>5  
Xjal6e)[  
3、最后找不同点。突然发现,原来连接不上的那台服务器的my.cnf里居然有一个bind-address:xx.xxx.xxx.xxx,绑定了IP,所以ssh通道连接的时候,不能工作,改成127.0.0.1后一切正常 |xTf:@hgHf  
%EuXL% B  
4、结果改完后发现,本地代码连接远程的时候,连接不上数据库了,代码里写死IP的所以无法改变。最终再找资料把bind-address改为0.0.0.0,然后一切都正常了(这个只适合在局域网测试上,其他情况下尽量不要改,出了问题可不要找我。。。。)
快速回复

限100 字节
安逸网提示:如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
认证码:
上一个 下一个