记一次纠错大战
本来今天开开心心地部署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的不写入)