解决MySQL“由于连接方在一段时间后没有正确答复或连接的主机没有反应”的问题

博主遇到PHP连接MySQL服务器失败,错误提示为'由于连接方在一段时间后没有正确答复或连接的主机没有反应'。经过排查,发现不是MySQL、PHP或Apache的问题,而是localhost被解析到IPv6地址::1导致。通过将localhost替换为127.0.0.1解决了问题,但IPv6解析问题依然存在。
摘要由CSDN通过智能技术生成

大概一个多月前起,笔者电脑上正在开发的PHP程序不知道什么原因,全部都不能连接MySQL服务器了,首先是页面加载很长一段时间,然后扔出错误:“由于连接方在一段时间后没有正确答复或连接的主机没有反应”。

 

这个问题困扰了笔者一个多月,先是重新安装了PHP,然后是MySQL,最后连Apache也重装了,问题依旧。

 

今天发誓不解决问题不吃饭了,于是新建一个PHP网页,代码就一句mysql_connect('localhost', 'root', 'XXXXXX');,依旧是那个错误。

 

尝试用命令行方式登陆MySQL,在CMD里定位到MySQL所在目录下运行mysql -uroot -pXXXXXX,登陆成功,执行show databases;成功显示所有数据表,SQL语句也可以执行正常。问题似乎不是出在MySQL本身。

 

仔细分析,问题应该出在PHP和MySQL之间的地方。尝试关闭防火墙,问题依旧。无奈把这段错误信息Google,在一堆帖子中找到了一句话:“把localhost换成127.0.0.1试试。”突然眼前一亮,立刻改代码,问题解决。

 

抱着试试看的心态,打开CMD试着ping了一下localhost,结果触目:

 

C:/Documents and Settings/XiNGRZ>ping localhost

 

Pinging XINGRZ-PC [::1] with 32 bytes of data:

 

Reply from ::1: time<

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值