我已将 MySQL 从 5.0 版升级到 5.1 版,现在无法从命令行以 mysql -uroot 访问 mysql。错误信息如下: Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock'
在 linux openSuSE 11.1 上。
这是否与我的主机文件不正确有关?还是 suse MySQL 包坏了?
我已将 MySQL 从 5.0 版升级到 5.1 版,现在无法从命令行以 mysql -uroot 访问 mysql。错误信息如下: Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock'
在 linux openSuSE 11.1 上。
这是否与我的主机文件不正确有关?还是 suse MySQL 包坏了?
问题是mysql客户端找不到用于与mysql服务器通信的unix套接字。这是因为 mysqld 没有运行,mysqld 没有创建套接字,或者套接字在错误的位置。
检查事项:
http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_socket
升级后您是否启动了 MySQL 服务?
问题是 mysql 客户端从 /etc/my.cnf 或 ~/.my.cnf 两个文件中检测到它的设置。
组 100 中的用户帐户没有 mysql.sock 套接字文件的值,但是该值设置为 root。通常 /etc/my.cnf 似乎对不在 mysql 组中的用户具有读取权限,但是在 openSuSE 11.0 和 mysql 5.1 下,此文件现在对 mysql 具有 rw 访问权限,并且对组具有只读访问权限,而对不在 mysql 组中的用户没有访问权限群组。通过授予用户对文件的只读访问权限,我设法解决了问题,但是问题在于 mysql.sock 文件的权限。我仍然需要创建