linux中mysql远程连接不上解决方法:
1、排查网络或防火墙问题
(1)检查网络直接ping你的远程服务器,ping 182.61.22.107,可以ping通说明网络没问题
(2)看端口号3306是不是被防火墙挡住了,telnet 182.61.22.107 3306
防火墙挡住了3306端口不允许访问:
解决方法:
配置防火墙,开启3306端口
vi /etc/sysconfig/iptables //防火墙配置 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT //允许3306端口通过 service iptables restart //重启防火墙
配置如下:
MySQL配置
在你开启防火墙以后发现还是telnet失败,报错如下:
这里的原因是因为你的数据库只允许root用户在本地登录,你可以设置允许访问的用户跟地址
(1)进入数据库查看用户表
mysql -u root -p //登录数据库 use mysql //进入mysql数据库 select Host,User from user; //查看可以访问数据库的ip
(2)设置可以访问的ip
update user set host='%' where host='localhost'; //允许所有访问 flush privileges; //刷新生效
推荐:MySQL教程