首先,确保能ping通
ping 192.168.122.1
其次,确保3306端口可以访问,没有被防火墙办了
telnet 192.168.122.1 3306
如果3306端口被办了,需要在服务端配置防火墙,放开3306
# 查看放开了哪些端口
firewall-cmd --list-ports
# 放开3306端口,--permanent表示永久生效,避免重启失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载配置
firewall-cmd --reload
然后,检查mysql配置,确认3306端口没有被绑定到本地127.0.0.1
netstat -apn | grep 3306
如果绑定到本地了,需要编辑配置文件(/etc/my.cnf),将相关的 bind-address 注释掉。
接下来,可以选择新建用户和修改现有用户2种方式。
新建用户
create user `root`@`%` identified by 'root';
grant ALL on *.* to `root`@`%` with grant option;
修改现有用户
修改用户的host字段为客户端主机名、IP、%通配符,或者IP与%通配符的结合。
update user set host = '%' where user = 'root';
刷新策略
flush privileges;