mysql故障恢复

当mysql/mariadb遭遇意外导致损坏,正常模式无法启动时候可以进行以下操作尝试修复;

  • 在mysql.cnf中的mysqld节点下增加配置项innodb_force_recovery=x其中x分别尝试1~6设置好后尝试启动数据库,一般至少有一个模式能启动成功,启动成功后此时数据库几乎处于只读模式,无法直接使用,需要在此基础上进行故障的排除或者导出数据重建。
  • 检查所有表看看哪个损坏了,如果损坏的较少可以单独对指定的表进行导出->重建->导入操作;先用show tables显示所有表,然后用文本编辑器整理下批量添加上前缀,形成类似check table tablename;的语句去执行,以检查出错的数据表。