公司测试环境的数据库机器硬盘坏了,将硬盘中的数据用工具拷贝出来,在另外一台机器搭建一个和原数据库一样的环境,将这些数据库文件拷贝进去。
我将innodb_force_recovery=6,可以启动,然后我用mysqldump将里面的数据备份出来。
在备份过程中err会有下面的错误130830 11:14:32  InnoDB: error: space object of table'analyse_cms/detail',
InnoDB: space id 33 did not exist in memory. Retrying an open.
130830 11:14:32  InnoDB: Warning: allocated tablespace 33, old maximum was 0
130830 11:14:32  InnoDB: error: space object of table'analyse_cms/detail_relation',
InnoDB: space id 4003 did not exist in memory. Retrying an open.
130830 11:14:32  InnoDB: error: space object of table'analyse_cms/term_taxonomy',
InnoDB: space id 35 did not exist in memory. Retrying an open.
130830 11:14:32  InnoDB: error: space object of table'analyse_convert/batch_select_check_point',
InnoDB: space id 4820 did not exist in memory. Retrying an open.
但是我用工具软件进到数据库查看,是可以看到这些表的数据。不知道为什么备份不出来。
并且在我多次执行mysqldump的过程中发现,.err文件中提示报错的表,不是每次都一样的,有时候某张表报上面的错误,下次执行可能这张表就不会报错。