CentOS中MySQL无法远程连接怎么处理

Centos7系统下怎么也不能远程连接mysql,下面就介绍下如何解决,供同样遇到这个问题的朋友们参考学习。

CentOS中MySQL无法远程连接怎么处理

MySQL数据库无法远程连接有两种原因:

1、数据库没有授权

2、服务器防火墙没有开放3306端口

推荐学习:Linux视频教程

具体的解决方法如下:

一、数据库没有授权

对于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

本篇文章来自PHP中文网,CentOS使用教程栏目,更多相关教程请关注本栏目!