数据库
首页 > 数据库> > mysql – innodb腐败时innodb_force_recovery

mysql – innodb腐败时innodb_force_recovery

作者:互联网

当我启动mysqld(在/etc/init.d中)时,它失败了

InnoDB: corruption in the InnoDB tablespace.

什么是强制mysqld启动的最好的innodb_force_recovery值?我试过4和6,但是腐败错误信息是一样的.我已经完全转储了.

解决方法:

根据MySQL的文档,如果您使用innodb_force_recovery = 1,即使服务器检测到损坏的页面,服务器也会启动.

http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html

不过,您可能还需要检查一些事项.

mysql的错误日志中是否有任何相关错误? cat /var/log/mysqld.log

文件系统是否正常,您可以在同一分区中创建触摸文件吗?恩.触摸/var/somefile.txt

如果您有完整的数据库备份,正如您在问题中提到的那样,您可以删除ibdata和ib_log文件并重新创建它们,然后恢复数据库.这将解决您在innodb文件中可能存在的任何损坏问题.

步骤是:

>停止mysql
>删除ibdata和ib_logfile文件.

例如:rm -f / var / lib / mysql / ibdata1

例如:rm -f / var / lib / mysql / ib_logfile *
>启动MySQL(重新创建innodb文件)
>恢复转储mysql -u root -p< mydump.sql
只要您只删除innodb文件(ibdata和ib_logfiles),您的用户及其对数据库的访问权限仍将保持原样.

标签:corruption,linux,mysql,innodb
来源: https://codeday.me/bug/20190806/1597569.html