mysql / Innodb崩溃和重新启动的主要原因



在最近的数据库崩溃之后,我们的供应商没有RCA。我想扩展我对哪种事情会导致数据库崩溃的知识。

在我们的特定情况下,日志在崩溃之前显示记录索引不匹配。我们认为这是由于将.frm和.idb文件复制到另一个数据库,而不是使用mysqldump。在崩溃前大约一周内,从复制开始,就有关于此的记录警告。但是数据库崩溃真的需要这么长时间吗?

根据我的经验,大多数崩溃是由于硬件错误造成的,即您的磁盘出现故障。第二个最常见的是用户错误,例如像普通文件一样移动InnoDB表空间(您已经知道,不要这样做(。第三是MySQL中的bug,因为所有软件都有bug。

当然,在用户活动访问导致崩溃的代码路径之前,可能需要无限期的时间。无法从中得出任何结论。

最终,您必须创建冗余以防止崩溃。这对于数据库尤其重要。冗余示例:

  • 使用 RAID 1 或 RAID 10 执行磁盘镜像
  • 使用复制连续复制另一个 MySQL 实例的数据
  • 在另一台物理计算机上托管其他MySQL实例,最好将其托管在数据中心的单独机架上
  • 您甚至可能在该国的另一个地区拥有另一个副本

最新更新