我的处境不是最好的。我继承了一个Ubuntu14.048GRAM、8个CPU MySQL 5.5数据库服务器,其中包含了近400 GB的业务关键数据(存储在外部SSD上),包含在数千个不同的数据库中。我的数据库管理技能和经验刚刚起步。我想要创建该数据的备份,以设置MySQL复制,但我需要创建影响和停机时间最小化的备份。
这些数据库每四个小时单独备份一次mysqldump。不幸的是,这意味着我没有整个数据库服务器的单一、点时点、逻辑或原始备份,而且在该服务器上没有启用二进制日志记录。但我确实有能力单独恢复这些备份。
数据库服务器中总共有大约250,000个表。在这些表中,约有9万人使用myisam引擎,约16万人使用innodb引擎。
我知道会有一些停机时间,但我真的很想避免停机的时间不确定,在此期间,我必须完全备份数据并同时部署复制。
在测试中,我考虑过或尝试过各种方法:
如果没有我提供关于我的测试方法和结果的过多细节,我想知道您将如何处理这种情况。
编辑:本质上,我的问题是:以尽可能少的停机时间为目标,并给出我的场景,您将如何创建数据库服务器的备份,以便预先设置MySQL复制?
如有任何建议、意见、服务或资源,我将不胜感激。谢谢。
发布于 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就不再受支持了。
https://dba.stackexchange.com/questions/186256
复制相似问题