解决linux中mysql远程连接不上的问题

解决linux中mysql远程连接不上的问题

小编给大家分享一下解决linux中mysql远程连接不上的问题,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

linux中mysql远程连接不上解决方法:

1、排查网络或防火墙问题

(1)检查网络直接ping你的远程服务器,ping 182.61.22.107,可以ping通说明网络没问题

(2)看端口号3306是不是被防火墙挡住了,telnet 182.61.22.107 3306

防火墙挡住了3306端口不允许访问:

解决linux中mysql远程连接不上的问题

解决方法:

配置防火墙,开启3306端口

vi /etc/sysconfig/iptables         //防火墙配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  //允许3306端口通过

service iptables restart        //重启防火墙

配置如下:

解决linux中mysql远程连接不上的问题

MySQL配置

在你开启防火墙以后发现还是telnet失败,报错如下:

解决linux中mysql远程连接不上的问题

这里的原因是因为你的数据库只允许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;        //刷新生效

看完了这篇文章,相信你对解决linux中mysql远程连接不上的问题有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!