我已经将MySQL从版本5.0升级到版本5.1,现在不能像命令mysql -uroot那样从命令行访问mysql。 错误消息如下:无法通过套接字“/var/run/mysql/mysql.sock”连接到本地MySQL服务器
在Linux上openSuSE 11.1。
这是否与我的主机文件不正确? 还是suse的MySQL包被破坏?
问题是mysql客户端找不到用于与mysql服务器通信的unix套接字。 这是因为mysqld没有运行,mysqld没有创build套接字,或者套接字在错误的地方。
检查事项:
http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_socket
你升级后是否启动了MySQL服务?
service mysql restart
问题是mysql客户端从两个文件/etc/my.cnf或〜/ .my.cnf中检测到它的设置。
组100中的用户帐户对于mysql.sock套接字文件没有值,但是该值是为root设置的。 通常,/etc/my.cnf似乎对不在mysql组中的用户具有读访问权限,但是在openSuSE 11.0和mysql 5.1中,此文件现在具有rw的mysql访问权限,并且只读访问组,并且不访问用户群组。 通过给用户只读访问文件,我设法解决这个问题,但是没有我问题是mysql.sock文件的权限。 我仍然需要创build