码迷,mamicode.com
首页 > 数据库 > 详细

linux中MySQL本地可以连接,远程连接不上问题

时间:2018-12-10 14:13:35      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:账号登录   where   rest   通过   input   mysql配置   远程连接   报错   9.png   

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        //重启防火墙

配置如下:

技术分享图片

2.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;        //刷新生效

当然也可以只允许一些ip访问,或者ip段访问:GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘182.61.*.*‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;    //允许182.61段在root账号登录

 

linux中MySQL本地可以连接,远程连接不上问题

标签:账号登录   where   rest   通过   input   mysql配置   远程连接   报错   9.png   

原文地址:https://www.cnblogs.com/zzqit/p/10095597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!