无法通过命令行从本地主机loginmysql

我在Ubuntu 9.04 Jaunty上运行MySQL 5.0.75-0ubuntu10.5。 当我尝试login到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我可以使用相同的凭据login。

mysql.user表中有3个用户“root”的条目,包含3个不同的主机

  • 本地主机
  • 127.0.0.1
  • indrik(主机名)

所有这3个条目的encryption密码是相同的。 我用-h参数尝试了所有3个主机名,仍然没有运气。

任何指针?

尝试使用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