1—–(SRVFORCEIGNORECORRUPT):忽略检查到的corrupt页。
2—–(SRVFORCENOBACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3—–(SRVFORCENOTRXUNDO):不执行事务回滚操作。
4—–(SRVFORCENOIBUFMERGE):不执行插入缓冲的合并操作。
5—–(SRVFORCENOUNDOLOGSCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6—–(SRVFORCENOLOG_REDO):不执行前滚的操作。
参考上面,用6启动了。但是无法还原回去了。正常依旧无法启动。
① /data下的 ibdata1 、ib_logfile0、ib_logfile1。(改名,保险),ibdata1 后面还有用呢。
② 重启mysql服务 。
net start mysql
重启后 自动刚创建新的 ibdata1 、ib_logfile0、ib_logfile1。
6、保留,将新创建的ibdata1 改名:新的 ibdata1_x
7、用老的ibdata1 和 innodb_force_recovery = 6 启动mysql 这时库是只读的。
(打开 Mysql 安装目录下的my.ini 文件在 [mysqld] 下 innodb_force_recovery = 6 就可以)
重新启动mysql服务,备份数据。备出来 .sql
8、关闭mysql服务,恢复my.ini 文件,改回到新的ibdata1 ,开启mysql服务,导入.sql
获取数据库每个表的行数
select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = 'phalcon_invo' order by table_rows desc