PHP连接数据库失败-解决方案

问题描述

今天在使用php代码连接数据库的时候发现死活都连接不上,在确认账号密码都没有错误的情况下,几乎找遍了答案都无法解决。
PHP连接数据库失败-解决方案_第1张图片
PHP连接数据库失败-解决方案_第2张图片

解决方法

通过不断的查阅资料及测试,发现问题在于本机地址localhost127.0.0.1身上,当我把localhost换成127.0.0.1时发现顺利连接。
在这里插入图片描述
PHP连接数据库失败-解决方案_第3张图片
通过查阅资料可知二者的区别:

  1. mysql -h 127.0.0.1 的时候,使用TCP/IP连接, mysql server 认为该连接来自于127.0.0.1或者是”localhost.localdomain”

  2. mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket; 此时,mysql server则认为该client是来自”localhost”

打开文件hosts:C:\WINDOWS\system32\drivers\etc\hosts)

从系统的hosts文件可以看出localhost 并没有直接被解析为 127.0.0.1 ,而是 DNS 将根据当前连接的协议来自动选择将其解析为 v4 地址还是 v6 地址,此时只需要在hosts文件下添加代码:

127.0.0.1 localhost

最后

在用代码连接数据库的时候,连接数据库失败的原因一般情况都是账号密码错误,所以一定要首先保证账号密码均无误的情况下再去寻找答案,排查问题最后结局问题。此处如果嫌麻烦也可以直接将localhost更改为127.0.0.1即可,毕竟不是什么大问题。

PHP连接数据库失败-解决方案_第4张图片
PHP连接数据库失败-解决方案_第5张图片

你可能感兴趣的:(BUG解决,安装方法,数据库,php)