问题描述
【新手阶段】
今天在使用php代码连接数据库的时候发现死活都连接不上,在确认账号密码端口都没有错误的情况下,几乎找遍了答案都无法解决。
确认基本信息,账号密码都无误
解决方法
通过不断的查阅资料及测试,发现问题在于本机地址localhost和127.0.0.1身上,当我把localhost换成127.0.0.1时发现顺利连接。
解决:
打开文件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为IP,访问localhost时会自动解析为访问ip:127.0.0.1,如果没有在hosts文件中加入域名和ip映射,访问localhost就会连接失败
最后
在用代码连接数据库的时候,连接数据库失败的原因一般情况都是账号密码错误,所以一定要首先保证账号密码均无误的情况下再去寻找答案,如果是云服务器,连接不上可以看看端口是否开放,排查问题最后结局问题。此处如果嫌麻烦也可以直接将localhost更改为127.0.0.1即可,毕竟不是什么大问题。