Mysql客户端连接错误

Mysql客户端连接错误

我已经将 MySQL 从 5.0 版升级到 5.1 版,现在无法从命令行以 mysql -uroot 访问 mysql。错误消息如下:无法通过套接字“/var/run/mysql/mysql.sock”连接到本地 MySQL 服务器

在 Linux OpenSuSE 11.1 上。

这是否与我的 hosts 文件不正确有关?或者是 suse MySQL 软件包损坏了?

答案1

问题在于 mysql 客户端找不到用于与 mysql 服务器通信的 unix 套接字。这可能是因为 mysqld 没有运行、mysqld 没有创建套接字或套接字位于错误的位置。

检查事项:

  1. mysqld 正在运行吗?“ps aux | grep mysql”。尝试重新启动它
  2. mysqld 是否正在创建套接字?“lsof -p $mysqld_pid | grep sock”
  3. 它是否在正确的位置。查看服务器配置中的“套接字”选项。默认值为“/tmp/mysql.sock”。您可能需要将其设置为匹配您的客户端或更改客户端配置以匹配服务器位置。

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_socket

答案2

升级后,您启动了 MySQL 服务吗?

service mysql restart

答案3

问题是 mysql 客户端从两个文件 /etc/my.cnf 或 ~/.my.cnf 检测其设置。
组 100 中的用户帐户没有 mysql.sock 套接字文件的值,但该值已设置为 root。通常,/etc/my.cnf 似乎对不属于 mysql 组的用户具有读取访问权限,但是在 openSuSE 11.0 和 mysql 5.1 下,此文件现在对 mysql 具有 rw 访问权限,对组具有只读访问权限,而对不属于组的用户则无权访问。通过授予用户对该文件的只读访问权限,我设法解决了该问题,但不,问题出在 mysql.sock 文件的权限上。我仍然需要创建

相关内容