运行环境
系统版本: CentOS 7
数据库版本: 5.6.XX
问题
用工具远程登录连接基于CentOS 7服务器上的Mysql,报错信息如下:解决方案
检查默认端口(3306)是否开放,若端口未开放则进行如下操作:
- 方式1:iptables(CentOS 7.x版本之前用法,不推荐),在此也不再赘述
- 方式2:firewall-cmd(推荐)
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
这样就开放了相应的端口,为了使我们的设置即时生效,还需执行
firewall-cmd --reload
方式3:在MySQL数据库中赋予用户远程访问权限
进入MySQL的控制台
在MySQL的控制台中执行
- 使修改生效
- 重启MySQL
以上方法设置完之后,如果依然报错,则进行如下操作:
查看httpd_can_network_connect的值是否为on,执行
getsebool -a | grep httpd
获取信息如下:
修改httpd_can_network_connect的值为on:
setsebool httpd_can_network_connect 1
最后重启http:
/etc/init.d/httpd restart