MySQL中怎么备份分布式逻辑

  

MySQL中怎么备份分布式逻辑,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<>强摘要

定期备份的重要性在数据库生命周期中已得到体现。有不同的风格:二进制的(Percona XtraBackup),二进制日志备份,磁盘快照(lvm, ebs等)和经典的:逻辑备份,可以使用,mysqldump, mydumper或mysqlpump等工具进行的备份。它们每个都有特定的用途,MTTR,保留策略等。

定期备份的重要性在数据库生命周期中已得到体现。有不同的风格:二进制的(Percona XtraBackup),二进制日志备份,磁盘快照(lvm, ebs等)和经典的:逻辑备份,可以使用,mysqldump, mydumper或mysqlpump等工具进行的备份。它们每个都有特定的用途,MTTR,保留策略等。

另一个事实是,一旦datadir增长,进行备份可能是一项非常缓慢的任务:存储更多数据,读取和备份更多数据,而且,另一个事实是,不仅数据会增长,而且环境中可用的MySQL实例的数量也会增加(通常)。那么,为什么不利用更多的MySQL实例来进行逻辑备份以使此操作更快呢?

分布式备份(或使用所有可用的从站)

这个想法很简单:不要从单个服务器上获取整个备份,而要使用所有可用的服务器。本概念证明仅专注于在主/从拓扑上使用副本。也可以使用的主人,但是在这种情况下,我决定不使用它,以免增加备份开销。

测试

在主/从属拓扑中:
 MySQL中怎么备份分布式逻辑“> <br/>来自协调器GUI的图形</p> <p>使用约64 gb的数据(不包括索引大小)和300个表(模式“某人”)的小datadir: </p> <pre> + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |,TABLE_SCHEMA  ENGINE  |, TABLES  |, ROWS ,,,,, |, DATA  (M), |, INDEX  (M), |,总(M) |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
  |,meta ,,,,,,,, |, InnoDB  |, 1,,,,,, |,,,,,,,,, 0, |, 0.01,,,,, |, 0.00,,,,,, |,,, 0.01,, |
  |,percona ,,,,, |, InnoDB  |, 1,,,,,, |,,,,,,,,, 2, |, 0.01,,,,, |, 0.01,,,,,, |,,, 0.03,, |
  |,sb ,,,,,,,,,, |, InnoDB  |, 300,,,, |, 295924962, |, 63906.82, |,,, 4654.68, |, 68561.51 |
  |,sys ,,,,,,,,, |, InnoDB  |, 1,,,,,, |,,,,,,,,, 6, |, 0.01,,,,, |, 0.00,,,,,, |,,, 0.01,, |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + </pre> <p>使用3个副本,使用,mysqldump进行的分布式逻辑备份花费了6分13秒:</p> <pre> [root@mysql1  ~] #, ls  -lh /数据/备份/20200101/total , 56克
  -rw-r - r -只1,root  root  19 g  Jan , 1, 14:37  mysql2.sql
  -rw-r - r -只1,root  root  19 g  Jan , 1, 14:37  mysql3.sql
  -rw-r - r -只1,root  root  19 g  Jan , 1, 14:37  mysql4.sql
  (root@mysql1  ~) #, stat /数据/备份/20200101/mysql2.sql
  ,,文件:& # 39;/数据/备份/20200101/mysql2.sql& # 39;
  ,,大小:19989576285,,,,,:,39042144,IO 块:,4096,,,regular 文件
  设备:,10300 h/66304 d ,, Inode:, 54096034,链接:1
  访问:,(0644/-rw-r - r),, Uid:,(0/大敌;根),Gid:,(,,, 0/,根)
  背景:,unconfined_u: object_r: unlabeled_t: s0
  访问:2020 - 01 - 01,14:31:34.948124516  + 0000
  修改:2020 - 01 - 01,14:37:41.297640837  + 0000
  改变:2020 - 01 - 01,14:37:41.297640837  + 0000
  ,出生:- </pre> <p>单个副本上的相同备份类型花费了11分59秒:</p> <pre> [root@mysql1  ~] #, time  mysqldump  -hmysql2 ——single-transaction ——lock-for-backup  sb 祝辞/数据/backup.sql
  ,
  real ,,, 11 m58.816s
  user ,,, 9 m48.871s
  sys ,,, 2 m6.492s
  (root@mysql1  ~) #, ls  -lh /数据/backup.sql
  -rw-r - r -只1,root  root  56 g  Jan , 1, 14:52 /数据/备份。sql </pre> <p>换一种说法:</p> <p>分布式服务器快48% ! </p> <p>这是一个相当小的数据集。值得一试。那么它是怎样工作的? </p> <h3>概念</h3> <p>逻辑很简单,可以分为多个阶段。</p> <h4>阶段1:准备</h4> <ul类= <李>

找出可用的副本数

<李>

找出要备份的架构中的表数

MySQL中怎么备份分布式逻辑