MySQL中怎么备份分布式逻辑,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。定期备份的重要性在数据库生命周期中已得到体现。有不同的风格:二进制的(Percona XtraBackup),二进制日志备份,磁盘快照(lvm,ebs等)和经典的:逻辑备份,可以使用mysqldump,mydumper或mysqlpump等工具进行的备份。它们每个都有特定的用途,MTTR,保留策略等。定期备份的重要性在数据库生命周期中已得到体现。有不同的风格:二进制的(Percona XtraBackup),二进制日志备份,磁盘快照(lvm,ebs等)和经典的:逻辑备份,可以使用mysqldump,mydumper或mysqlpump等工具进行的备份。它们每个都有特定的用途,MTTR,保留策略等。另一个事实是,一旦datadir增长,进行备份可能是一项非常缓慢的任务:存储更多数据,读取和备份更多数据。而且,另一个事实是,不仅数据会增长,而且环境中可用的MySQL实例的数量也会增加(通常)。那么,为什么不利用更多的MySQL实例来进行逻辑备份以使此操作更快呢?这个想法很简单:不要从单个服务器上获取整个备份,而要使用所有可用的服务器。本概念证明仅专注于在主/从拓扑上使用副本。也可以使用Master,但是在这种情况下,我决定不使用它,以免增加备份开销。在主/从属拓扑中:
来自Orchestrator GUI的图形使用约64GB数据(不包括索引大小)和300个表(模式“ sb”)的小datadir:使用3个副本,使用mysqldump进行的分布式逻辑备份花费了6分13秒:单个副本上的相同备份类型花费了11分59秒:换一种说法:分布式服务器快48%!这是一个相当小的数据集。值得一试。那么它是怎样工作的?逻辑很简单,可以分为多个阶段。找出可用的副本数找出要备份的架构中的表数在所有可用副本之间划分表的数量。结果块将是每个副本将备份的表。阻止主服务器执行更改二进制日志位置的操作。通常,这是通过带有读取锁的FLUSH TABLES完成的,但是此PoC使用的是Percona Server for MySQL上的LOCK BINLOG FOR BACKUP的很酷的功能, 并且破坏性较小。查找最新副本使用START SLAVE UNTIL使所有其他副本与最新副本匹配使用相应的表块为每个副本启动一个mysqldump,并使用–lock-for-backup(Percona Server的另一个功能)完整的脚本可以在这里找到:https://github.com/nethalo/parallel-mysql-backup/blob/master/dist_backup.sh值得一提的是,脚本具有自己的日志,该日志将描述每个步骤,它看起来像这样:由于该工具使用命令SHOW SLAVE HOSTS ,因此必须设置变量report_host,如果使用的是Orchestrator,则很可能已经设置了该变量。在“ report_host”变量中设置的主机应该是可访问的主机。例如,可以实际解析的IP或主机(DNS,编辑/ etc / hosts文件)。任何涉及的副本上都没有复制过滤器。这样可以保证数据的一致性。该脚本当前应在主服务器中本地运行。由于使用了备份锁,因此只能在Percona Server上免费云主机域名使用。预计MySQL用户凭据将在.my.cnf文件内的主目录中可用。看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注云编程开发博客行业资讯频道,感谢您对云编程开发博客的支持。
在centos5中ctrl +alt+(F1-F6)切换至字符界面,ctrl+alt+F7切换至 图形界面在centos6,centos7中ctrl+alt+(F2-F6)切换至字符界面,ctrl+alt+F1切换至图形界面同时也可以使用chvt命令来进入不同…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。