Linux Server磁盘满导致的mysql数据库错误

因为博主在服务器上安装了一些文件存储服务,有几次出现了文件占满磁盘后导致数据库出错,在删除了多余文件之后也无法重启数据库。所有与数据库相关的服务均报错无法启动,比如Wordpress的数据库连接错误,Nextcloud的500错误等。

在磁盘满后,请不要立即重启服务器或数据库服务,应首先清理出磁盘空间,让数据库服务将缓存写入后再关闭或重启!若直接重启就会导致博主遇到的这种错误。

以下内容仅供参考,请根据自身报错情况进行修复。

  1. 首先查看自己的服务器磁盘是否清理出足够的空间,使用命令如 df -h 和 du -h 进行检查。
  2. 检查是否因为一些日志文件导致空间占用过高,常见检查位置有 syslog 和 /var/log/nginx 等,根据自己安装情况而定。
  3. 尝试启动mysql,得到错误报告,位置一般在 /var/log/mysql/error.log 中
  4. 检查错误报告,如果是类似博主这种错误,会显示类似

其中问题关键出在无法初始化 tc.log 文件

因此解决方案是删除已有的tc.log文件(检查为空),然后重启mysql服务。tc.log 常见位于 /var/lib/mysql/ 中

它会自动生成一个正常的tc.log文件,从而使mysql能够正常启动,问题解决!

发表评论