mysql启动错误:mysql.sock丢失 mysqld_safe报告错误解决方案
类型:数据库类大小:1.7M语言:英语评分:6.6标签页:现在下载,我叫CentOS6.3 MySQL5.1.57,重启服务器一次后用MySQL-uroot-p登录出现如下错误:
错误2002 (HY000):无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器(2)
所以我检查了mysql的状态:
/etc/rc.d/init.d/mysqld状态
根据停止,它没有运行。
/etc/rc.d/init.d/mysqld重启
正在停止mysqld: [确定]
MySQL守护程序无法启动。
正在启动mysqld: [ FAILED]
ps -ef | grep mysql
root 28221 27474 0 14:18 pts/0 00:00:00 grep MySQL只有这个
此时,我可以确认mysql无法启动。
我开始排除故障,首先发现/tmp/mysql.sock不存在
vim /etc/my.cnf
socket=/var/lib/mysql/mysql。短袜
/var/lib/mysql/mysql。袜子也不存在
find/-name mysql.sock
显示为空,并且mysql.sock文件丢失。
我在网上看到有人说,只要重启服务器就可以重新创建mysql.sock socket文件。
Init 6重启命令
重启后,错误依旧,没有任何变化,不会自动生成mysql.sock重启服务器。
接下来我了解到mysql.sock是一个临时文件,会在mysql启动时自动生成。我的服务器没有启动,所以没有mysql.sock文件。
我尝试了安全启动模式,mysqld_safe尝试通过工作目录查找服务器和数据库,但是mysqld_safe还是失败了。
mysqld_safe使用来自的数据库启动mysqld守护程序./MySQL/var STORING server from PID文件.pid
130802 15:17:11 mysqld结束
当各种命令尝试失败后,我开始了这次最大的收获——学习读取错误日志。
在错误日志中,启动失败的原因非常明显,文件’。/MySQL-bin。' 000004 '未找到,未能打开!
Mysql已经启动了bin日志功能,它的存在是为了查看数据库根目录下的文件,可能是文件权限的问题。
chown -R mysql:mysql /./mysql/var
mysqld_safe
/etc/rc.d/init.d/mysqld重启
正在停止mysqld: [确定]
正在启动MySQL d :[确定]
开始成功了!~
此时,mysql.sock文件出现在/var/lib/MySQL/MySQL.sock中,如下图所示,所有以“s”开头的文件都是socket文件。
mysql -u root -p
错误2002 (HY000):无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器(2)
/tmp/mysql.sock
解决这个错误很简单,因为/tmp/mysql.sock不存在,用这个方法:
ln -s /var/lib/mysql/mysql。sock /tmp/mysql。短袜
以“l”开头的文件是软链接文件。或者您可以通过修改/etc/my.cnf文件来修复它。
成功解决!~
就是这样一个困扰我这么久的问题,错误日志让它看不见。查看错误日志可以发现问题,而不是像我以前那样盲目地找错。
俗话说,授人以鱼不如授人以渔。如果你学会查看日志,你就能方便快捷地解决问题。
错误使人进步。我和这个错误斗争了四个多小时。我对linux中的“一切都是文件”这句话有了更深的理解,这对我学习文件系统管理(目录树)很有帮助,让我的思维真正从windows操作系统转变到linux系统。而最后解决了问题,有了成就感,我喜欢这种感觉。
版权声明:mysql启动错误:mysql.sock丢失 mysqld_safe报告错误解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。