MySQL(CentOS中)远程连接报错:Can't connect to MySQL server on 'your-host-ip'

运行环境

系统版本: CentOS 7
数据库版本: 5.6.XX


问题

用工具远程登录连接基于CentOS 7服务器上的Mysql,报错信息如下:
远程连接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数据库中赋予用户远程访问权限

    1. 进入MySQL的控制台
      这里写图片描述

    2. 在MySQL的控制台中执行
      这里写图片描述

    3. 使修改生效
      这里写图片描述
    4. 重启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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章