我正在尝试在我的Ubuntu 10.04 LTS(lucid)系统上访问MySql。 我知道这个错误有很多结果,但是没有一个可以帮助我。 我在Linux上是一个新手,所以任何帮助可能需要拼写出来。
运行时
mysql -u root -p
在命令提示符下,我收到错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)
袜子文件肯定存在; 赛跑
sudo ls -la /var/lib/mysql
包括该行
-rwxrwxr-- 1 mysql mysql 0 2011-11-03 19.05 mysql.sock
并在父目录上运行ls看起来像这样
sudo ls -la /var/lib drwxr-xr-- 5 mysql mysql 4096 2011-11-03 18.14 mysql
我认为MySql正在运行;
sudo service mysql start
结果是
mysql start/running
my.cnf文件(位于/ etc / mysql /)包含该行
socket = /var/lib/mysql/mysql.sock
在[mysqld]部分下。
任何指针将不胜感激。 这个网站是活的,因为它是托pipe一个WordPress安装,无法访问MySql彻底打破了网站!
编辑
从评论输出;
ps -ef | grep mysql mysql 1869 1 0 20:15 ? 00:00:00 /usr/sbin/mysqld pete 1953 1713 0 20:36 pts/0 00:00:00 grep --color=auto mysql
mysql.sock不是套接字文件,它是一个0字节大小的标准文件。
我会(1)终止mysql,(2)删除mysql.sock文件,然后(3)重新启动mysql,这将正确地生成套接字文件。 在执行ls -l mysql.sock时,应该看到如下所示的套接字文件。
srwxrwxrwx 1 mysql mysql 0 2011-10-06 15:25 mysql.sock
mysqld应该在/var/run下有一个socket文件。 在我的debian系统上是/var/run/mysqld/mysqld.sock 。
/var/lib/mysql是实际数据库的目录,而不是运行时信息。