MySql数据库不能远程连接的解决办法总结

总结了以下几点数据库不能远程连接( Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’,)的解决办法

  • 1、没有远程登录授权

    • 登录进MySQL命令控制台或者你是本地的数据库工具连接选择MySQL database ,设置成任意客服端输入你设定的密码都可以远程登陆,然后刷新。
     use mysql;
     grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
      FLUSH PRIVILEGES;
  • 2、防火墙禁止了此端口的外部访问

    • 以Linux iptables(centos7默认是firewalld了)防火墙为例,编辑/etc/sysconfig/iptables
    vi /etc/sysconfig/iptables
    • 然后追加一条
     -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT
    • 重启生效
    service iptables restart
    • 再附上iptables的常用设置
    iptables设置
        1 重启后生效 
        开启: chkconfig iptables on 
        关闭: chkconfig iptables off 
    
        2 即时生效,重启后失效 
        开启: service iptables start 
        关闭: service iptables stop

    直接关闭防火墙也可以

  • 3、修改MySQL的配置文件/etc/mysql/my.cnf,因为默认只允许本地访问的,注释掉这行

    • 编辑/etc/mysql/my.cnf文件,注释掉这行再重启MySQL

      这里写图片描述

      
      #bind-address           = 127.0.0.1
      
      /etc/init.d/mysql restart

posted on 2017-10-26 22:31  愤怒的苹果ext  阅读(39)  评论(0编辑  收藏  举报

导航