Linux

無法使用“localhost”連接到 MySQL,但使用“127.0.0.1”可以嗎?

  • November 21, 2019

我的 /etc/hosts 文件如下所示:

127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我在建構伺服器時發現,雖然我可以成功地 ping localhost,但在某些服務的配置文件中,如 Postfix 和 Apache 和 Dovecot,我需要指定127.0.0.1而不是localhost為了使它們工作。

我還需要更改某些用於localhost連接 MySQL 的數據庫驅動網站的配置文件。

我嘗試了對hosts文件的各種修改,但到目前為止我嘗試過的沒有任何幫助。

伺服器正在執行 Ubuntu 12.04.02 LTS。它沒有安裝 selinux,即使在設置 IPtables 預設策略以接受並刷新它們之後,上述情況仍然存在。

您可能會檢查的一件事是(這需要您登錄到 MySQL 控制台) - 檢查以確保您有權登錄到rootvia localhost

mysql -h 127.0.0.1 -u root -p

– 登錄成功後 –

mysql> select user,host from mysql.user;
+------+--------------------------------+
| user | host                           |
+------+--------------------------------+
| root | 127.0.0.1                      | 
| root | ::1                            |
| root | localhost                      | <-- Make sure you have a localhost entry for root
+------+--------------------------------+
3 rows in set (0.00 sec)

只是把它扔在那裡,以防萬一這就是問題所在。

引用自:https://serverfault.com/questions/544187