无法通过命令行从本地主机以 root 身份登录 mysql

无法通过命令行从本地主机以 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参数的主机名,但仍然没有成功。

有什么指点吗?

答案1

尝试使用 TCP 连接到本地主机,并使用以下附加命令行参数:

--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

相关内容