首页 > 解决方案 > 寻找解决方案 Maradb 表因系统突然断电而崩溃

问题描述

***寻找解决方案 Maradb 表在系统突然断电时崩溃 ***

带有 MyISAM 存储引擎 OS Debain 9的 MariaDB-server 版本 10.1

在执行 MySQL 表插入、更新或删除操作期间,每隔 1 秒断电,重启后表崩溃,站点关闭。它很容易重现。

这是 MariaDB 错误日志 020-06-25 9:22:26 3036056384 [ERROR] mysqld:表 './xxx/cw_xyz' 被标记为已崩溃,应该修复 2020-06-25 9:22:26 3036056384 [警告]检查表:'./xxx/cw_xyz' 2020-06-25 9:22:26 3036056384 [错误] mysqld:表'./xxx/cw_xyzz'被标记为崩溃,应该修复

考虑到解决方案突然断电,有什么建议可以摆脱这个问题?

标签: crashmariadb

解决方案


表 './xxx/cw_xyz' 被标记为崩溃,应该修复

这意味着该表是 Engine=MyISAM。

该引擎有一个不幸的缺陷,即电源故障通常会使某些表处于该状态。 CHECK TABLE通常REPAIR TABLE是解决方法。但这很麻烦。

另一方面,Engine=InnoDB 的工作方式不同,并且没有那个特定的问题。InnoDB 几乎总是完全修复崩溃时发生的任何事情。此外,与 MyISAM 不同,它使表处于一致状态。


推荐阅读