错误产生环境
使用主机的Navicat 工具无法连接到虚拟机里的mysql数据库
错误描述
2003-Can't connect to MySQL server on '192.168.1.169" (10060 "Unknown error")
错误原因
1.可能是当前的连接账号是否支持远程链接
2.防护墙处于开启状态
解决办法
检查当前的连接账号是否支持远程链接
步骤1:登录
mysql -uroot -p
步骤2:选择数据库
选择mysql数据,因为用户表(user)在这个数据库里
use mysql
步骤3:查询User表
select `user`,authentication_string,`Host` from `user`;
查询mysql库中的user表,可以看到root目前只支持localhost本机连接
步骤4:增加root允许其他主机进行连接
执行下面这段语句
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
123456为连接密码,%为任意主机,就是任意主机可以通过用户名root + 密码12345 进行连接,你也可以指定只允许某IP的主机进行连接。
注意:这里可能会出现ERROR 1819 (HY000): Unknown error 1819这个错误
如出现请先跳转到这篇博客:解决办法
步骤5:重新加载用户权限
flush privileges;
检查防护墙状态:
步骤6:查看当前防护墙状态
firewall-cmd --state
running 表示开启状态
步骤7:关闭防火墙
提示:如果防火墙已经关闭了,这一步可以省略
systemctl stop firewalld
步骤8:再次查看防火墙状态
not running表示防火墙处于关闭状态
注意:当前是虚拟机才需要关闭防火墙,如果是云服务器的话在安全组把3306端口放行即可
步骤9:再次连接
连接成功