InnoDB表空间修复步骤

2017-03-10 15:48刘进京
网络安全和信息化 2017年2期
关键词:数据表引擎命令

当数据库出现损坏时,应优先保证现有数据的完整。在恢复时需要依次使用不同的模式。即先使用第一种模式,失败后依次尝试其余的模式,直到可以将数据读取出来为止。注意,不能在MySQL运行过程中在提示符下直接修改该参数。例如直接执 行“set innodb_force_recovery=2;”,MySQL 会提示该参数处于只读状态而拒绝修改。只能在配置文件中进行修改,并重启数据库使之生效。

当设置好恢复模式后,创建一个新表,使用MYISAM存储引擎用于恢复数据。因为原有的InnoDB数据表已经损坏,自然无法直接使用。当开启恢复模式后,所有的InnoDB数据表不能处于只读状态,不能导入数据,因此只能使用MYISAM引擎来恢复数据。接着使用“Insert Into”命令,从原数据表中读取数据,将其导入新的数据表中。然后利用“Drop”命令删除原有的表,利用“Rename”命令,将新的表更名为原有的表,最后,将数据库引擎修改 为 InnoDB,将“innodb_force_recovery”的只设置为0,并重启数据库。

猜你喜欢
数据表引擎命令
只听主人的命令
新海珠,新引擎,新活力!
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
移防命令下达后
三生 三大引擎齐发力
蓝谷: “涉蓝”新引擎
这是人民的命令
图表