Php
MySQL 無法通過“localhost”連接,只有 127.0.0.1
這對我來說有點神秘。我可以連接到 MySQL 的唯一方法是如果我通過“127.0.0.1”呼叫它……例如,我的 PHP 連接腳本不適用於 localhost
我正在執行 Mac OS X Lion、內置 apache2、MySQL、PHP、phpMyAdmin
mysql管理員:
count 0 debug-check FALSE debug-info TRUE force FALSE compress FALSE character-sets-dir (No default value) default-character-set auto host (No default value) no-beep FALSE port 0 relative FALSE socket (No default value) sleep 0 ssl FALSE ssl-ca (No default value) ssl-capath (No default value) ssl-cert (No default value) ssl-cipher (No default value) ssl-key (No default value) ssl-verify-server-cert FALSE user (No default value) verbose FALSE vertical FALSE connect-timeout 43200 shutdown-timeout 3600 plugin-dir (No default value) default-auth (No default value)
如果您告訴它連接到“localhost”,MySQL 將嘗試連接到 unix 套接字。如果您告訴它連接到 127.0.0.1,您將強制它連接到網路套接字。因此,您可能已將 MySQL 配置為僅偵聽網路套接字而不是文件系統套接字。
你的 unix 套接字到底有什麼問題很難說。但我建議您閱讀MySQL 參考指南上的這一頁。這應該可以幫助你。
更新:基於更新的問題:參數“socket”應該是這樣的:“/var/lib/mysql/mysql.sock”。參考手冊中的此頁麵包含更多資訊。
這裡有我的 /etc/my.cnf 文件的開頭:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock
你的文件應該是相似的。那麼你的問題應該得到解決。在測試之前不要忘記重新啟動 MySQL 伺服器。