mysql远程连接正常,linux服务器访问不了的解决办法
2014-11-10 09:51:02   来源:   评论:0 点击:

mysql远程连接正常,config文件绝对没错,但还是连接不上。远程机器是linux方(简称B),要访问的远程的也是linux机器(简称A)。config设置后,远程连接报错为:MySQL Query : MySQL Error : MySQL Errno : 0

mysql远程连接正常,config文件绝对没错,但还是连接不上。远程机器是linux方(简称B),要访问的远程的也是linux机器(简称A)。

config设置后,远程连接报错为:

MySQL Query : 

MySQL Error : 

MySQL Errno : 0 

Message : Can not connect to MySQL server 

不知道是什么原因造成的。只一个个排除了。

1、检查mysql远程链接设置是否正确。config文件是否正常

检查后没有问题。于是开始第二步。

2、本地windows环境测试远程访问,连接正常。

测试后正常,说明B服务器设置没有问题。

3、A机器上通过命令访问:mysql -h "110.230.146.101" -u root -p,可以连接到远程mysql数据库。说明远程mysql设置正确

到此基本可以确定是要是A机器自身关闭了httpd对外访问。

于是在网上查找原因,为什么会自身关闭了httpd对外访问。原来是SELinux限制了httpd对外访问的权限。

getsebool -a|grep -i httpd通过此命令查看进程许可模式,就会发现httpd_can_network_connect --> off

如下图一:

\

只要将这个httpd_can_network_connect --> off设置为开启状态就OK

设置方法如下:

[root@www mysql]# setsebool -P httpd_can_network_connect=1

查看如图二,发现已经修改。

\

这个问题到此终于解决了。

相关热词搜索:mysql 远程连接

上一篇:Linux实现完美web服务器与mysql数据库服务器分离及调用操作
下一篇:SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法