解决mysql能用localhost连接,但不能使用127.0.0.1连接的问题

解决mysql能用localhost连接,但不能使用127.0.0.1连接的问题,第1张

概述解决mysql能用localhost连接,但不能使用127.0.0.1连接的问题 问题:

PHP程序连接MysqL只能使用localhost,不能使用127.0.0.1

系统环境:centos5.6 64位系统  MysqL 版本5.6.29 PHP版本5.6.22

解决问题过程:

1、根据出错的提示信息“sqlstate hy000 2002 Permission denIEd”  使用Google搜索MysqL_connect 有人说是可能MysqL_connect这个函数被禁用了,使用其它的连接,测试过不行。

2、使用Google搜索MysqL能用localhost连接,不能使用127.0.0.1连接,结果大部分人的解决办法是:

修改my.cnf文件,去掉skip_networking,bind_address=127.0.0.1,重启MysqL 故障依旧。 

权限问题,grant all privileges on *.* to 'root'@'127.0.0.1' IDentifIEd by '密码';   然后flush privileges;  故障依旧。

修改/etc/hosts文件,添加127.0.0.1  localhost 项,故障依旧。

3、查看apache错误日志,发现只记录了文件不存在之类的日志信息,未发现和访问MysqL数据连接文件相关的项目。

4、查看MysqL的日志,未发现相关的连接项目。

5、最后我想起来要查看一下系统日志/var/log/messages 信息太多,清理之:  echo "" > /val/log/messages 然后访问 数据连接测试文件。发现了如下信息:

Nov 30 10:18:49 localhost setroubleshoot: SElinux 正在阻止http 守护进程连接到网络端口3306 For complete SElinux messages. run sealert -l a214e214-c710-4c84-9eb2-12764f4b27de

结果就很明显了,是selinux闯的祸,关闭selinux测试一下“/usr/sbin/setenforce 0 立刻关闭SEliNUX  ”  数据库连接一切正常。

最后得出一个结论,请大家在安装服务器的时候,一定要selinux给关闭掉。下面给出方法:

如何关闭Selinux

1、快速关闭SElinux,使用如下命令就可以:

/usr/sbin/setenforce 0 立刻关闭SEliNUX

/usr/sbin/setenforce 1 立刻启用SEliNUX

2、加到系统默认启动里面

echo "/usr/sbin/setenforce 0" >> /etc/rc.local

3、可以编辑配置文件达到同样的目的

vi /etc/selinux/conf

set SEliNUX=Disabled

总结

以上是内存溢出为你收集整理的解决mysql能用localhost连接,但不能使用127.0.0.1连接的问题全部内容,希望文章能够帮你解决解决mysql能用localhost连接,但不能使用127.0.0.1连接的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存