首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql主-从复制追赶和bin_logs

Mysql主-从复制追赶和bin_logs
EN

Database Administration用户
提问于 2015-01-27 13:20:31
回答 1查看 1.1K关注 0票数 1

我已经使用2x128Gram 24核心云服务器设置了MYSql复制。我们有一个庞大的实时数据库,由于大量的数据输入,无法体验停机时间。

我已经发现,在处理主从服务器时,如果重新启动服务,bin_log和位置更改。因此,需要更新从服务器,即使这样,也会丢失它没有新的bin_log集的期间的数据。

处理我的数据库是400多个大,并要求在99%的时间,我无法锁定表,转储,传输和导入。

由于所有读取都是从它完成的,并且数据与当前用户交互高度相关,因此,从服务器也是非常无效的,因此不能体验缺少数据或停机时间。

此外,我正在使用MySQL5.5

因此,我的问题如下:

1)如果有什么可以导致主服务器上的bin_log发生更改的话,还会发生什么呢?( 2)如何使我的奴隶在不重做整个奴隶的情况下,巩固和追赶丢失的数据。

任何帮助都将不胜感激。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-01-27 13:48:23

1)在主目录上执行的任何INSERTUPDATEALTER等类型查询都将写入二进制日志,从而导致MASTER_LOG_POS增加

此外,如果Master正在接收来自另一个Master的更新(在Master安装程序中),如果您启用了LOG_SLAVE_UPDATES,那么这些更新也会写入二进制日志。

每次重新启动服务时,二进制日志都会被刷新,并将其递增1。

2)在奴隶上运行SHOW SLAVE STATUS,并记录下MASTER_LOG_FILE。现在检查一下,这个文件仍然存在于主服务器上吗?如果没有,那么您就有了问题,并且需要从主副本(例如MYSQLDUMP)重新构建从属程序。

假设它确实存在,您应该只需发出一个START SLAVE命令,它就会开始追赶(希望如此)

接下来,再次运行SHOW SLAVE STATUS并检查SLAVE_IO_RUNNINGSLAVE_SQL_RUNNING。他们都是YES,那么一切都很好。寻找SECONDS_BEHIND_MASTER,让您了解它的背后有多远。

如果其中任何一个是NO,请查看错误(LAST_IO_ERRORLAST_SQL_ERROR),以了解问题所在。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/90299

复制
相关文章

相似问题

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