某个周日晚上,突然接到运维同事的电话,说是网站访问不了了,让赶紧给看看。
放下电话,打开电脑,访问了一下网站首页,确实访问不了,报500错误,很显然,是服务器的有问题了。
然后通过xshell远程链接服务器,通过ps,看了一下进程,http跟mysql都正常。
初步怀疑是代码问题,看了下服务器日志,发现错误:
session_start(): open(/tmp/sess_du1gupr74gnc99c4nlh4vnmbh2, O_RDWR) failed: No space left on device
难道是服务器磁盘满了??心里打着问号,前几天刚刚扩容了服务器,应该还剩很大的空间才对。
打算用传统快速解决问题的方案--重启来解决,首先重启mysql,关闭正常,但是重启却失败了,心里1w个小马驹跑过,这是什么情况。
静下心来看了看mysql日志,如下,确实是启动失败了,
百度了很多,都是千篇一律,没啥营养,但是也逐渐明白了是空间不足导致的,
用df -hl看了下磁盘占用率,果然mysql所在目录使用率100%了,挨个看了下目录的体量,原来是mysql 的data目录超过了7g,太大了,然后想了想解决方案,又跟同事商量了一下,最终使用的是:ln命令
1:移动mysql的data目录到另外的空间,比如:/a/data
mv /mysql/data /a/data
2:建立软连接:
ln -sf /a/data /mysql/data
3:重启数据库
成功了,谢天谢地。。。