我最近经历了一次DDoS攻击。它使我的服务器不堪重负,崩溃了。重新启动时,服务器上每个数据库中的所有innodb表都已损坏。
从那以后,我重建了数据库和所有的表。我不得不重建innodb_table_stats,innodb_index_stats。
现在一切似乎都运行得很好,网站已经上线了,但我有一个持续不断的错误。一般日志很快就会填满这些内容。
2014-07-13 15:28:37 7fd70b374700 InnoDB: Error: page 193 log sequence number 526819726 InnoDB: is in the future! Current system log sequence number 156433332. 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.6/en/forcing-innodb-recovery.html InnoDB: for more information.
我试过Changing the Number and Size of mySQL logs了。一切都很顺利,没有任何错误。但我仍然在新日志中看到这些错误堆积起来。
我还可以尝试同步这些日志序列号吗?我是后端数据库工作的新手。被迫学习,因为我的主机技术支持很糟糕。
我目前在: CENTOS 6.5 x86_64 virtuozzo - vps- WHM 11.44.0 (build 22) mySQL: 5.6.17
发布于 2014-07-14 05:08:48
“页面...日志序列号”是上次修改页面的时间。标头中的LSN大于重做日志中的LSN。
修复它的最简单方法是使用noop ALTER TABLE重新构建表。
ALTER TABLE mytable ENGINE InnoDB;它将重新构建主索引及其辅助索引。在那之后,错误应该会消失。
ALTER将阻塞该表,因此,如果该表很大,并且该站点正在生产中,最好的选择是使用pt-online-schema-change重新构建它。它也会做同样的事情,但不会阻塞数据表,只是暂时的。
pt-online-schema-change --alter "ENGINE=InnoDB" D=sakila,t=actorhttps://stackoverflow.com/questions/24726749
复制相似问题