Linux
無法使用“localhost”連接到 MySQL,但使用“127.0.0.1”可以嗎?
我的 /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 控制台) - 檢查以確保您有權登錄到
root
vialocalhost
。
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)
只是把它扔在那裡,以防萬一這就是問題所在。