首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何同步mySQL日志

问如何同步mySQL日志
EN

Stack Overflow用户
提问于 2014-07-14 04:22:44
回答 1查看 568关注 0票数 0

我最近经历了一次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

EN

回答 1

Stack Overflow用户

发布于 2014-07-14 05:08:48

“页面...日志序列号”是上次修改页面的时间。标头中的LSN大于重做日志中的LSN。

修复它的最简单方法是使用noop ALTER TABLE重新构建表。

代码语言:javascript
复制
ALTER TABLE mytable ENGINE InnoDB;

它将重新构建主索引及其辅助索引。在那之后,错误应该会消失。

ALTER将阻塞该表,因此,如果该表很大,并且该站点正在生产中,最好的选择是使用pt-online-schema-change重新构建它。它也会做同样的事情,但不会阻塞数据表,只是暂时的。

代码语言:javascript
复制
pt-online-schema-change --alter "ENGINE=InnoDB" D=sakila,t=actor
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24726749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档