環境是CentOS6.5,先貼個錯誤代碼:mysql
這個問題解決了大半天,浪費了好多時間,不過也算是值了。sql
事故原由是由於忽然斷電,mysql server直接幹掉了,也沒有備用電源,重啓了以後看日誌tail -f /var/log/mysqld.log,剛開始報錯:socket
錯誤信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 編碼
報錯(2)是不可識別mysql.sock,由於可能在你的/var/lib/mysql已經含有mysql.scok文件,這個東西每次創建mysql鏈接的時候都會有,可是因爲掉線的緣由,刪掉吧。。。日誌
另外若是看見有什麼ib_logfile0、ib_logfile一、ib_*亂七八糟,都是掉線的時候臨時保存的文檔,若是你要看的話,本身去翻編碼查看吧...lz也沒搞過,總之,刪掉吧。。。server
mv ./ib_logfile0 ./ib_logfile_0 blog
錯誤信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 進程
報錯(111)是須要找不到指定位置,須要指定一下位置,或者通過完美的重啓,server抽風也能好。文檔
查了半天,說什麼的都有,不靠譜,還有說ln -r的,最後找到直接解決方法了:mysqli
修改/etc/my.cnf,先添加一個sock鏈接位置,由於連接mysql的方式是本質仍是經過socket,因此要是要更改修改mysql的配置文件:
socker=/var/lib/mysql/mysql.sock # 加在mysqld下,沒有就隨便添加
解決:
修改 /etc/my.conf
原來的
#pid-file=/var/run/mysqld/mysqld.pid
修改成
pid-file=/var/lib/mysql/mysqlid.pid
最後:ps -A | grep mysql 查看一下進程號,直接kill -9 殺掉
最後在從新啓動mysql,大功告成。
若是忘了root密碼....
直接mysql——>use mysql; ——> update user set password=password"新密碼" where user="root」;——> flush privileges;
5個小時也算值了 T^T