Mysql 数据库无法使用“loclhost”连接,但可以使用“127.0.0.1”Centos 7 (Cloudlinux) 连接

Posted

技术标签:

【中文标题】Mysql 数据库无法使用“loclhost”连接,但可以使用“127.0.0.1”Centos 7 (Cloudlinux) 连接【英文标题】:Mysql Database cant connect using "loclhost" But Can Connect using "127.0.0.1" Centos 7 (Cloudlinux) 【发布时间】:2020-04-08 09:09:24 【问题描述】:

我的操作系统:Centos 7 + CLOUDLINUX 7.7 当我尝试从服务器登录 mysql

[root@server3 ~]# Mysql -u root -h localhost -P 3306  Working ok 
[root@server3 ~]# Mysql -u root -h 127.0.0.1 -P 3306  Working Ok 

但是当我在托管域“xyz.com”上使用 localhost 时,DB Host = “localhost” 它没有连接,当我将它更改为 DB Host = "127.0.0.1" 它连接到数据库

[root@server3 ~]# cat /etc/hosts
127.0.0.1       localhost
::1             localhost localhost6.localdomain6 localhost6
[root@server3 ~]# ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.079 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.064 ms
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

有什么解决办法吗?

【问题讨论】:

“不工作”是什么意思? 当xyz.com域使用数据库主机=“localhost”时没有连接数据库,但使用数据库主机=“127.0.0.1”时连接数据库 老兄。错误说明了什么。如果它确实连接了,你就不会首先提出这个问题。 【参考方案1】:

MySQL 使用 IP 地址 (127.0.0.1) 时通过 TCP/IP 连接,使用 localhost 时使用套接字文件。在您的情况下,我想您在某个特殊位置有 mysql.sock 并且它不能从 CageFS 内部获得。虽然默认使用/var/lib/mysql/

如果是这样 - 请将该目录添加到 /etc/cagefs/cagefs.mp 文件,然后运行 ​​cagefsctl --remount-all

以及问题修复

【讨论】:

以上是关于Mysql 数据库无法使用“loclhost”连接,但可以使用“127.0.0.1”Centos 7 (Cloudlinux) 连接的主要内容,如果未能解决你的问题,请参考以下文章

vs2012发布asp.net mvc4的网站到iis上,发布后在访问数据库的地方出错?

无法使用外部服务器上的 php 文件连接数据库(mysql)

MySQL数据库无法使用+号连接字符串的处理方法

Mysql - 无法连接未知数据库'databasename'错误

Mysql - 无法连接未知数据库'databasename'错误

NestJs连接MySql:错误无法连接数据库