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