远程连接 mysql 数据库连接不上的解决方案

今天用Navicat访问虚拟机上的mysql,无法访问报cannot connect(10038)。

首先看是否可以telnet,本机cmd,telnet 10.10.10.10 3306,结果是连接失败,

再到虚拟机上确认 netstat -anp ,发现 “tcp        0      0    127.0.0.1:3306            0.0.0.0:*               LISTEN”

(LocalAddress中: 0.0.0.0 表示监听本地所有ip地址,其他电脑是可以访问的,并且修改ip不受影响。 127.0.0.1 表示只监听本机回环地址,只能本机访问。 x.x.x.x ip地址,是只监听这个ip。修改ip后程序就不能监听了。需要手动修改软件监听地址才可以用)

这里LocalAddress为127.0.0.1,说明是这里的问题。

于是找到mysql的配置文件 修改  bind-address = 127.0.0.1    to       bind-address = 0.0.0.0

问题得到解决

如果还是不行,就要修改 mysql 的user 表 将 host 改为 %

可能还需要修改权限 grantallprivilegeson*.*to'root'@'%' identified by'youpassword'withgrantoption;

最后 flush privileges;

 bind-address = 127.0.0.1    to       bind-address = 0.0.0.0

猜你喜欢

转载自www.cnblogs.com/songlen/p/9069486.html