摘要:
今天用Navicat
连接远程服务中的MySql
遇到了几个棘手的问题,在网上找了许多种解决方案,最后解决了问题,在这里把问题和解决方案汇总一下。
Navicat
连接远程mysql的方法点这里:Navicat连接云服务器中的mysql
前提:我的云服务器系统是CentOS
。
首先
如果你找了好多种方式都连不上,那就先重启navicat试试,如果还是有错误,再继续往下看。
问题一:
2013- Lost connection to MySQL server at 'waiting for initial communication packet', system error: O "Internal error/check (Not system errorj"
当我配置好连接后,测试连接正常,准备打开连接看数据的时候,连接一直在转圈圈,最后连接失败,弹出来
这个错误。
解决方法:
找了很多文章。
- 在
my.cnf
文件中的[mysqld]
区域添加skip-name-resolve
。这个配置可以使mysql跳过dns反向解析 - 如果
my.cnf
文件中配置有bind-address
,把这个配置注释掉。这个配置说明远程机器只能通过绑定本机ip来访问mysql。
参考链接:https://blog.csdn.net/qq_33862644/article/details/83143837
大佬的文章里面写的很详细。
问题二
1130-Host'::1' is not allowed to connect to this MySQL server
上边的错误解决之后,又出现了新的错误。
解决方法:
修改mysql
库里的user
表
将root
对应host
修改成%
(通配符),使得所有ip都可以访问mysql。
还有其他的方法,参考这位大佬的文章:
https://blog.csdn.net/jrn1012/article/details/53231244
总结
最开始我按照上边的所有方法都是一遍之后发现还是连接不上,我只好重启了一下Navicat,惊喜的发现可以连接上了,之后我又进行了多次实验,发现什么配置都不改,Navicat也可以连接上。额……
如果有说的不对的地方,欢迎大神指教,我只想记录自己遇到的问题和解决方法。