今天通过Ubuntu 的APT 指令安装MySql 后,通过运行,service mysql start 启动的mysql 的服务。部分教程有提到mysqld 的服务,但是并没有这样的服务名,然后通过
mysql -uroot -p 指令运行,结果反复的报这个错误。
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
通过查阅 http://blog.csdn.net/mycms5/article/details/52825613 :
输入
MySQL
-u root 登录
mysql
的时候出现以下错误:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
出现这个问题的原因是没有生成 mysql.sock 文件,没有生成这个文件的原因是 /usr/local/mysql 目录的权限不对:
chown -R mysql:mysql /usr/local/mysql 即可解决
///
照着做了一下,然而并没有什么用。还是会报这个错误。但是他说的这个原因是对的。
于是我找到了 /ect/my.cnf
其中 [mysql] 和[mysqld]下面的 socket都是 /tmp/mysql.sock。
最后发现/etc/mysql/Debian.cnf 中的socket 的路径是/var/run/mysql/mysql.sock
于是我们/etc/my.cnf 中的socket 的路径改成
/var/run/mysql/mysql.sock
这样mysql 客户端就可以正常启动了。
服务 mysql 读取的 配置和 程序mysql 读取的配置不是同一个,不知道mysql 到底是怎么改的。