MySQL版本
mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i386) using readline 5.1
重新启动机器。 然后尝试…
$ ps aux | grep mysql mysql 3298 0.0 0.8 136772 17216 ? Rl 12:13 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock xxxxx 3311 0.0 0.0 4000 680 pts/1 R+ 12:13 0:00 grep mysql root 3461 2.3 0.0 4624 1232 ? S 11:55 0:26 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --user=mysql
所以mysqld正在运行。
但是我无法build立客户端连接…
$ mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
当我尝试使用Sequel Pro从另一台机器进行连接时,出现错误…
“MySQL表示:在'读取初始通信包'时丢失了与MySQL服务器的连接,系统错误:61”
消息ERROR 2002 (HY000):通常意味着mysqld没有运行。
从评论:消息"Error writing file '/var/run/mysqld/mysqld.pid'"出现在mysql.log
解:
持有/var文件系统的设备已满并且无法创buildmysqld.pid文件,因此mysqld未启动。
在/ var文件系统上创build一些空间。
尝试从命令提示符使用mysqld_safe --console运行mysql,它不会从terminal分离。 检查控制台是否有错误,也检查日志文件是否有错误(它会打印到控制台上的日志文件的绝对path,如110818 23:53:57 mysqld_safe Logging to '/var/log/mysqld.log'. 。 当然,你应该在运行mysqld_safe --console之前停止你现有的mysql实例
使用kill杀死mysqld&mysqld_safe进程(先尝试15,如果不能停止,尝试9),然后尝试重新启动mysql。 还要确保mysql不绑定到特定的IP。
– $