我们有一个生产问题,在这个问题上,MySQL已经开始吐出InnoDB损坏的页面错误,并且掉了下来。
错误消息似乎与索引有关,因此我假设数据本身是正常的,并且当我用innodb_force_recovery=1重新启动服务器时,我可以使用mysqldump转储大量数据。
然而,重新导入并没有修复错误,删除/重新创建数据库也没有帮助,我甚至已经移动了无害数据库文件,让MySQL在重新导入之前重新创建它们。
不,喜悦,腐败在几分钟内继续发生,服务器又死了。
奇怪的是,数据库是ISAM和InnoDB表的混合体,我在ISAM表中也出现了一些错误。
这有可能是与数据相关的,是MySQL中更深层次的腐败,没有被上面的信息清除,或者所有的硬件故障都没有被清除?
编辑:这是运行在Ubuntu8.04上的Mysql 5.0.51
发布于 2011-10-24 21:20:19
嗨,保罗,可能是问题的innodb_force_recovery=1,你已经使用了有效的恢复。尝试使用值4。可能有一些后台进程正在运行。当innodb_force_recovery=4值设置为4时,不允许后台进程修改数据库,这样我们就可以安全地执行恢复过程。
详情请按以下连结查询:
http://tech.amikelive.com/node-36/mysql-50-recovering-crashedcorrupted-innodb-database/
https://dba.stackexchange.com/questions/7169
复制相似问题