首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助准备MySQL主从复制

帮助准备MySQL主从复制
EN

Database Administration用户
提问于 2017-09-18 19:56:34
回答 1查看 198关注 0票数 0

我的处境不是最好的。我继承了一个Ubuntu14.048GRAM、8个CPU MySQL 5.5数据库服务器,其中包含了近400 GB的业务关键数据(存储在外部SSD上),包含在数千个不同的数据库中。我的数据库管理技能和经验刚刚起步。我想要创建该数据的备份,以设置MySQL复制,但我需要创建影响和停机时间最小化的备份。

这些数据库每四个小时单独备份一次mysqldump。不幸的是,这意味着我没有整个数据库服务器的单一、点时点、逻辑或原始备份,而且在该服务器上没有启用二进制日志记录。但我确实有能力单独恢复这些备份。

数据库服务器中总共有大约250,000个表。在这些表中,约有9万人使用myisam引擎,约16万人使用innodb引擎。

我知道会有一些停机时间,但我真的很想避免停机的时间不确定,在此期间,我必须完全备份数据并同时部署复制。

在测试中,我考虑过或尝试过各种方法:

  • 使用
  • 对myisam表使用mysqldump和单个事务(针对innodb)而不使用锁
  • 对mysql数据目录进行rsync,然后优雅地关闭MySQL服务器,并对刷新的更改进行rsync。
  • 将myisam表转换为innodb,然后执行mysqldump或使用xtrabackup。
  • 使用我现有的备份启动复制,然后让从服务器赶上。
  • 恢复现有备份,然后使用pt-table-checksum和pt-table同步同步更改。
  • 名单还可以继续..。

如果没有我提供关于我的测试方法和结果的过多细节,我想知道您将如何处理这种情况。

编辑:本质上,我的问题是:以尽可能少的停机时间为目标,并给出我的场景,您将如何创建数据库服务器的备份,以便预先设置MySQL复制?

如有任何建议、意见、服务或资源,我将不胜感激。谢谢。

EN

回答 1

Database Administration用户

发布于 2017-09-18 22:57:09

共同的问题,共同的答案。当你第一次设置它的时候,它是痛苦的。但是,如果你这样做了几个‘正确’的方式之一,随后的备份将不会那么痛苦。

LVM --需要操作系统的参与。但是不管数据大小如何,备份大约需要1分钟。

复制--需要一份完整的副本。Xtrabackup对于InnoDB来说相对来说是无痛的,而对于MyISAM则是块。推论:你应该离开MyISAM。

磁盘同步(通过rsync或其他方式) --花费400 it的时间,但它是干净的。您必须在操作期间关闭MySQL。(LVM会使它变得更短。)

如果你有足够的备份,并可以从它建立奴隶,那么这可能是你最好的选择。在未来,从奴隶那里得到备份。(更好的办法是从山脚上克隆一个奴隶。)

是的,一旦奴隶存在,pt-table-checksum和pt-table-sync是个好主意。

此外,您还需要从5.5移到5.6到5.7。不久,5.5就不再受支持了。

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

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

复制
相关文章

相似问题

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