就在刚刚,我的一个站突然挂掉了,没有一点点防备,也没有一丝顾虑,就这样突然出现... 请求状态码500,想都没想:就是服务器程序内某个地方异常错误没有捕获。可是也不至于埋了这么久的问题突然出现,于是登录服务器一看,老子MySQL死了,而且一瞬间救不活那种死了,当时心里是崩溃的,连接MySQL提示2003错误connection refused。
讲述我的问题之前,先捎带提一下这个错误的其他原因。最常见的场景就是远程连接服务器出现这个错误,因为MySQL在某个版本貌似是5.7吧,在配置文件默认加了bind-address=127.0.0.1
,所以默认了只能本机连,需要去vim /etc/mysql/mysql.conf.d/mysqld.cnf
把这一行注释掉。当然,你还要去创建一个有远程连接权限的用户,具体的操作可以参考mysql远程连接以及mysql用户授权
如果你不是上面那个问题呢,那就有可能是这些问题了,相信当你执行service mysql restart
的时候会发现,告诉你启动失败,然后提示:
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
然后按照他说的做,会看到标题提到的错误:
mysql.service: Main process exited, code=exited, status=1/FAILURE
这时候,检查是否是因为磁盘不足导致的:
df -h --total
我当时提示如下:
Filesystem Size Used Avail Use% Mounted on
udev 475M 0 475M 0% /dev
tmpfs 100M 4.4M 95M 5% /run
/dev/vda1 25G 24G 0 100% /
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/0
total 27G 24G 1.7G 94% -
原来是没空间给MySQL用了...吓得我赶紧找找大文件
find / -type f -size +100M
然后把没用的大文件给rm
掉。
当然,还有可能是内存不足,如果你是512MB的机器,那你可能需要升级到1G了,反正我感觉512稍微有点吃力的。
free -h
看下你内存是不是快用光了
所以,出现这个问题先检查一下磁盘或者内存是否不足,而通常会是这些原因。
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/170