mysql启动错误:mysql.sock丢失,mysqld_safe报错解决方案
我的是【wǒ de shì】🥅CentOS6.3+MySQL5.1.57。重启了一次服务器后,使用【shǐ yòng】> mysql -u root -p登陆是⛎出现下面的错【miàn de cuò】误🎡:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
于是,我检察mysql状态:
> /etc/rc.d/init.d/mysqld status
显示🔽stop,未运行【wèi yùn háng】。
>/etc/rc.d/init.d/mysqld restart
Stopping mysqld: [ OK ]
MySQL Daemon failed to start.
Starting mysqld: [ FAILED]
>ps -ef | grep mysql
root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql 只有这【zhī yǒu zhè】一条🎞
至此,我可以确定,mysql无法启动。
我开始🐏排错【pái cuò】🌛,首先发现【xiàn】/tmp/mysql.sock不存在
>vim /etc/my.cnf
socket=/var/lib/mysql/mysql .sock
/var/lib/mysql/mysql .sock同样不【tóng yàng bú】存在🚆
>find / -name mysql.sock
显示为【xiǎn shì wéi】空🥤,未查询到【dào】mysql.sock文件【wén jiàn】⛱,mysql.sock文件【wén jiàn】⛱丢失了🛍。
我看网💀上有人【shàng yǒu rén】说🤟mysql.sock套接字🈹文件可以简单【yǐ jiǎn dān】地通过🕍重启服【chóng qǐ fú】务器重新创建得到它【dé dào tā】,
>init 6 重启命🌄令【lìng】
重启后🍍发现错📉误还是【wù hái shì】那样,没有任何改变📔,mysql.sock重启服务器未【wù qì wèi】自动生成【chéng】。
接下来了解到mysql.sock是一个临时文件,在mysql启动时会自动生成,我的服务器未启动,自然就没有mysql.sock文件。
我尝试【wǒ cháng shì】安全启动模式,mysqld_safe试图通过工作🤝目录找🚈到服务器和数🥜据库,但【dàn】mysqld_safe还是失【hái shì shī】🔺败【bài】。
>mysqld_safe &
Starting mysqld daemon with databases from ....../mysql/var
STOPPING server from pid file .......pid
130802 15:17:11 mysqld ended
各种命【gè zhǒng mìng】令尝试无效的🤾情况下,我开始🥞了本次【le běn cì】💱最大的【zuì dà de】👓收获【shōu huò】----学会看错误日志。
在错误【zài cuò wù】日志中🤸,启动失🏔败的原因极为【yīn jí wéi】明显,file ‘./mysql-bin。000004’ not found,failed to open!
mysql开启了【kāi qǐ le】bin日志功能🎁,到数据库根目录查看该文件🤞是存在的【de】🛀,可能🎁是文件权限的【quán xiàn de】问【wèn】💸题【tí】。
>chown -R mysql:mysql /....../mysql/var
>mysqld_safe &
>/etc/rc.d/init.d/mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK]
成功启动了!~
此时mysql.sock文件出【wén jiàn chū】现了,在/var/lib/mysql/mysql .sock。如下图【rú xià tú】所示,以【yǐ】👲”s”开头的🧛文件都⛵是【shì】📢socket文件。
> mysql -u root -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/tmp/mysql.sock
解决这【jiě jué zhè】🖱个错误🎤很简单【hěn jiǎn dān】,因为/tmp/mysql.sock不存在🌵,用这样【yòng zhè yàng】的方法:
>ln -s /var/lib/mysql/mysql .sock /tmp/mysql .sock
以”l”开头的文件【wén jiàn】是🤸软链接【ruǎn liàn jiē】文件【wén jiàn】。或者可以通过👞修改🍸/etc/my.cnf文件【wén jiàn】来修正它【xiū zhèng tā】。
成功解决了!~
就是这【jiù shì zhè】🏩样一个🐀问题折腾了我【téng le wǒ】💆这么久,错误日【wù rì】🗜志让它无所遁【wú suǒ dùn】形。查看错【chá kàn cuò】误日【wù rì】🗜志可以明确问题🖍所在,而不是像我之👩前那样盲目的【máng mù de】找错。
俗话说授人以【shòu rén yǐ】🌪鱼不如授人以【shòu rén yǐ】🌪渔,学会查看日志【kàn rì zhì】📄,你也可【nǐ yě kě】以方便快捷的🛄解决问🍄题了。
错误使人进步【rén jìn bù】,我与这个错误斗争了【dòu zhēng le】四个多【sì gè duō】小时✳,对【duì】linux的💴“一切皆文件【wén jiàn】🗿”这句话【zhè jù huà】有了更深的💴了解【le jiě】🔫,对【duì】我学习文件【xí wén jiàn】🗿系统【xì tǒng】管⛳理💉(目录树【mù lù shù】🏻)有很大🚾的💴帮助,让我的💴思维真正的💴从windows操作系统【xì tǒng】转向成【chéng】linux系统【xì tǒng】。并最终【bìng zuì zhōng】解决问🥛题🎶,很有成【chéng】就感,我喜欢这种感✖觉😾。
关键词:mysql
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0