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

来源:互联网 发布:厦门微思网络 编辑:程序博客网 时间:2024/05/16 19:25

总结了以下几点数据库不能远程连接( 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