您的位置:首页 > 理论基础 > 计算机网络

mysql本地可以访问 网络不能访问

2017-09-25 11:24 323 查看
     远程登陆数据库的时候出现了下面出错信息:

  ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx',

  经过今天下午的反复纠结,关于MySql数据库无法远程连接的问题可以归结为以下几点:

  1). 没有授予相应的权限:

  例如,你想root使用123456从任何主机连接到mysql服务器。

  如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码

  2). 修改mysql数据库中的user表使相应的用户能从某一主机登陆  
  3). 防火墙禁止了3306端口,以iptable为例    
       vi /etc/sysconfig/iptables
    增加下面一行:
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT  
    service iptables restart

    ps:  iptables设置
    1) 重启后生效 
    开启: chkconfig iptables on 
    关闭: chkconfig iptables off 

    2) 即时生效,重启后失效 
    开启: service iptables start 
    关闭: service iptables stop
  或者直接关闭所有的防火墙:

 

如果想清空的话,先执行

iptables -P INPUT ACCEPT       (先把默认策略改为ACCEPT)

然后执行

iptables -F                                (之前前一定要查看iptables -L,确认默认策略为ACCEPT)
  4). 修改MySQL的配置文件/etc/mysql/my.cnf,因为默认3306端口只允许本地访问的,注释掉这行

    #bind-address = 127.0.0.1

  然后重启Mysql,/etc/init.d/mysql restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐