Linux
無法通過命令行從 localhost 以 root 身份登錄 mysql
我在 Ubuntu 9.04 Jaunty 上執行 MySQL 5.0.75-0ubuntu10.5。當我嘗試以 root 身份登錄 MySQL 時
# mysql -u root -h localhost -padmin
我收到以下錯誤
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)
但是如果我嘗試使用
phpmyadmin
http://localhost/phpmyadmin我可以使用相同的憑據登錄。mysql.user 表中有 3 個使用者“root”條目,具有 3 個不同的主機
- 本地主機
- 127.0.0.1
- indrik(主機名)
所有這 3 個條目的加密密碼是相同的。我用參數嘗試了所有 3 個主機名
-h
,仍然沒有運氣。任何指針?
嘗試使用 TCP 連接到 localhost,而不是使用以下附加命令行參數:
--protocol=TCP
您還可以通過檢查 /etc/my.cnf 確保您擁有正確的套接字文件:
[mysqld] datadir=/usr/local/mysql/data socket=/var/lib/mysql/mysql.sock
如果這表明與錯誤中的套接字不同的套接字,則可以在命令行中使用
--socket=path
,即--socket=/var/lib/mysql/mysql.sock
.