Linux

無法通過命令行從 localhost 以 root 身份登錄 mysql

  • August 18, 2010

我在 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.

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