Home > Article > Backend Development > 数据库连接用localhost不能访问,用127.0.0.1一般
数据库连接用localhost不能访问,用127.0.0.1正常。
在cakephp项目中,数据库的配置文件的host写成localhost如果不能被识别,报错“Database connection \"Mysql\" is missing, or could not be created.”。可以修改为127.0.0.1试试。
百度之后 发现出现这种情况的原因是:
localhost走的是 unix sock
127.0.0.1走的是 tcp
如果你的mysql sock配置不正确,那么localhost就不能访问到你的数据库了。用127.0.0.1则正常。
但是现在出现的情况是,我直接用mysql_connect来访问localhost,是可以访问到数据库的。而且是在同一个项目中。也就是说localhost是否能正常的访问数据库不(一定)取决于走的是unix sock还是tcp。是否cakephp中也有自己相应的操作。望大神予以解答。
------解决思路----------------------
你用 localhost 能访问不使用数据库的页面吗?
------解决思路----------------------
数据库配置的问题你查下 mysql中的mysql库下的user表 看看host有没有localhost