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