Centos7 登錄mysql 出現mysql.sock不存在

記一次糾錯大戰

本來今天開開心心地部署nginx和uwsgi到我的Django服務器,剛想給老師演示一遍我這項目如何酷炫時,一登陸就出現mysql連接不上了,把我急壞了,然後到服務器上看(用的時百度雲BCC),發現mysql連接時一直報:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

我去這個目錄下發現有這個sock文件啊,爲啥連不上呢?上網查了發現說是加權限,我也一頓操作:

chown -R root:root /var/lib/mysql   (別人都用mysql用戶,就我直接弄root用戶來搞)

結果還是不行,着急啊。那我就重裝一下mysql,肯定後面可以的吧。

於是花了15分鐘重裝配置好,接着,再打開服務:

service mysql start

日常連接 mysql -u root

OK,連上了

quit;

再連一次,failed,又是這個

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

頭大!!看了一下這個目錄,又沒有sock文件了。這個sock文件是每次mysql服務啓動都會生成一次,看來mysql有點問題。

看了網上的解決方法:

1.#su mysql

2.$/usr/bin/mysql_install_db     //重建授權表

3.$/usr/bin/mysqld_safe &

4.$/usr/local/bin/mysql                //測試

mysq>bye;

我在第二步還是很順利的執行,到了第三步就卡死了

[root@ bin]# mysqld_safe &
[1] 38305
[root@ bin]# 190315 20:49:20 mysqld_safe Logging to '/var/log/mysqld.log'.
190315 20:49:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
190315 20:49:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
我靠,這個法子也不行啊。

後面想了想,既然你這個sock每次啓動都會生成一次,那麼是不是/var/lib/mysql/下面的文件都是每啓動一次mysql就會生成一次?

於是有了個大膽的想法,嘿嘿嘿

我先執行service mysqld stop (停止mysql服務),,然後再rm -rf /var/lib/mysql/* (刪除/var/lib/mysql下的所有文件)

再service mysql start (啓動mysql服務。)這次很順暢,不像之前的啓動就會卡住

執行mysql -u root(順利執行,舒服)

mysql的log查看 /var/log/mysqld.log(啓動一次服務就會寫入log,但是連接mysql的不寫入)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章