CentOS中MySQL无法远程连接怎么处理
MySQL数据库无法远程连接有两种原因:
1、数据库没有授权
2、服务器防火墙没有开放3306端口
具体的解决方法如下:
一、数据库没有授权
对于mysql数据库没有授权,只需要用2条命令就可以了。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES;
二、服务器防火墙没有开放3306端口
centos 有两种防火墙 Firewalld和iptables防火墙,centos7 使用的是Firewalld防火墙。
Firewalld 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。
1、FirewallD防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
systemctl restart firewalld.service
2、iptables 开发3306端口
/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT /etc/rc.d/init.d/iptables save