宝塔面板可视化的操作,非常适合小白或非IT相关的博主。但是最近数据库坏了两次,一次是10月底,登录博客显示数据库无法连接,登录宝塔面板数据库也连接不上,最后重装的数据库,丢失了2个评论;一次是今天,下午有一段时间无法访问博客,应该是VPS有点问题,晚上再试的时候变成了”建立数据库连接时出错”, 登录宝塔面板看到MySQL5.5.62是暂停状态,点击启动按钮也无效。
Google上搜索了好几个方法也不好用,最后看了一下日志:
InnoDB: Your database may be corrupt or you may have copied the InnoDB | |
InnoDB: tablespace but not the InnoDB log files. See | |
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html | |
InnoDB: for more information. | |
211205 22:33:34 InnoDB: Error: page 312 log sequence number 6245017 | |
InnoDB: is in the future! Current system log sequence number 1595916. |
又以这个关键词继续搜索,终于找到又给解决的办法:
在软件商店-MySQL,打开配置修改,在第六行mysqld下面加入:
innodb_force_recovery = 6 |
这次再点重启按钮,就能正常启动了,博客也恢复了正常。又打开配置修改 ,把6改回了1,大功告成。
注:
innodb_force_recovery 后面不同参数含义
1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。 | |
2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。 | |
3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。 | |
4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。 | |
5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。 | |
6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。 |