耗尽磁盘空间:我的实时应用程序mysql数据库会损坏吗?

时间:2019-01-03 22:17:55

标签: mysql ubuntu drupal disk hard-drive

我有一个很大的Drupal 7站点,许多并发登录用户正在最近耗尽磁盘空间的服务器上运行(Ubuntu 16.04上Memcached后面的MySQL InnoDB)。这是怎么/为什么发生的是另一天的讨论。

我已经清理了磁盘空间问题,据一般交互显示,该站点似乎运行良好,但是Drupal日志中充满了这样的错误:

  

未捕获的异常'PDOException',消息为'SQLSTATE [HY000]:一般错误:3在/var/www/pixelscrapper.com中写入文件'/ tmp / MYGWmIvU'(错误代码:28-设备上没有空间)时出错。 /public_html/includes/database/database.inc:2229

我现在的问题是:正在运行Drupal的mysql数据库在这一点上是否可能已损坏/不稳定?即在0到10的级别上,还原数据库有多重要?到磁盘空间用完之前的时间?

(除0以外的任何其他值都表示我可能会还原数据库-但这里还有其他错误,这意味着如果我需要还原,我们将丢失很多数据,这是一个巨大的阻力,例如C'est la vie等)。

我的假设是MySQL中的数据或多或少都很好,但是我不能依靠由许多数据库行的集合构成的实际Drupal数据(用户,节点等)的完整性。 ..

1 个答案:

答案 0 :(得分:1)

空间不足的崩溃可能会严重损坏数据库。您的数据库能够正常启动并正常运行的唯一事实已经很好地表明了该事件并未完全将其弄乱。

下一步,您可以使用the sqlcheck program进行深度扫描:

  

mysqlcheck客户端执行表维护:它检查,修复,优化或分析表。

分析所有数据库中的所有表:

$ mysqlcheck -A

分析并修复所有数据库中的所有表:

$ mysqlcheck -A -r

NB:如文档中所述,最好在运行之前关闭应用程序并进行备份。