远程连接MySQL时失败
Windows使用Navicat远程连接MySQL时失败
查了很多地方,浪费了一些时间
排查思路:
1. 检查mysql是否启动
ps -ef | grep mysql 如果能看到对应的进程就是没有问题的
2. 检查网络和端口
在外部
ping ip
可以通
telnet ip 3306
发现不通
可能是防火墙问题,发现防火墙没开
在本机 telnet 127.0.0.1 3306
通的
3. MySQL配置问题
很多文章提到
bind-address = 127.0.0.1
的问题
这行代码绑定了ip地址,只能监听本机127.0.0.1
检查etc/mysql/my.cnf
发现什么都没有
在这里浪费很多时间
发现在另外一个文件里
/etc/mysql/mysql.conf.d/mysqld.cnf
注释掉或改成0.0.0.0就行
判断方法
3306前不能是127.0.0.1或者localhost
4. 检查mysql用户能否在远程进行登录
root不能远程登录
创建一个新用户或者修改root的权限
进入数据库
use mysql;
select host,user from user where user = 'root';//查看
update user set Host='%' where User='root';//修改 % 表示允许所有的机器访问
flush privileges;//刷新
解决
bind-address
- root账户远程权限