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的不写入)

 

 

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