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