mysql启动不了
早上访问blog.redis.com.cn,页面提示
“建立数据库连接时出错”
机器环境跑的是nginx+php-fpm+mysql、出问题之前也没做过停止mysql进程的操作。
突然间数据库连接出错,
开始以为php的问题,那么我在命令行直接访问mysql
1 |
mysql -u root -p |
出现错误提示
1 |
2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) |
mysql进程自己退出了,使用如下指令确认mysql进程不在了。
1 |
ps -ef | grep mysql |
看不到mysql进程
mysql进程不在,尽快回复服务的想法,就是重启服务
1 2 3 4 |
/etc/init.d/mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) utility, e.g. service mysql start |
启动不成功,提示我换一种方式启动,但是仍然启动失败
1 2 |
sudo service mysql start start: Job failed to start |
然后查看配置文件里mysql的错误日志文件位置/var/log/mysql/error.log
里面什么都没有。
正当我挠头的时候,这时候我想起磁盘空间可能满了,查看了一下果然满了
1 2 3 4 5 6 7 8 |
df -ah Filesystem Size Used Avail Use% Mounted on /dev/xvda2 6.9G 6.7G 0 100% / proc 0 0 0 - /proc none 0 0 0 - /sys none 0 0 0 - /sys/fs/fuse/connections none 0 0 0 - /sys/kernel/debug none 0 0 0 - /sys/kernel/security |
删除无用日志文件后
1 2 3 4 5 6 |
/dev/xvda2 6.9G 5.8G 808M 88% / proc 0 0 0 - /proc none 0 0 0 - /sys none 0 0 0 - /sys/fs/fuse/connections none 0 0 0 - /sys/kernel/debug none 0 0 0 - /sys/kernel/security |
mysql重启成功
1 2 |
service mysql start mysql start/running, process 6908 |
查看mysql是否在监听端口命令
netstat -tl | grep mysql
会看到如下类似内容
tcp 0 0 *:mysql *:* LISTEN
当你mysql突然退出,应用程序连接不上。
重启又不成功时,可以看看是不是磁盘空间否满了。
果然了。。