首页 > mysql教程 > 正文

MySQL备份恢复的调度优化技巧

转载 2019-03-08 0 180

原标题:MySQL备份恢复的调度优化技巧

这是学习笔记的第 1905 篇文章

目前线上的环境早已经过百了,备份就是一个重复性的工作,之前做了一版数据库备份任务的自动化调度,可以根据备份时间来重新评估备份时间,算是一个有些技术难度的小技巧。

之后在使用中也发现了一些问题,主要的问题是这个任务的脚本不够通用,只能支持备份,而且不支持单机多实例的的情况,所以在使用中存在一些盲点,最近总算是实现了。这个过程中也发现了一系列的小问题,我总结出一些小的技巧供参考。

1.备份调度策略的优化。

之前的备份是按照一个整体来做备份时间调度的,比如100个实例,我们时间调度的时候,只能是一个时间区间,如果开启了8个并行,那么最多只能有8个任务从0:00开始。类似下面的情况。

但是实际上这些数据库是分布在不同的IDC上面的,所以每个IDC的备份任务开启并行是可以横向扩展的。所以完全可以基于IDC来重新来设定备份的并发调度策略。这样原来是8个并行,2个IDC就可以轻松扩展到16个并行。

2)备份任务的crontab优化

备份任务的crontab如果支持单机多实例,其实对于crontab就是一个挑战,我们做的crontab修改是要备份前镜像,然后修改,如果是单机多实例,很可能这个修改工作是由多个并发进程发起的,那么crontab的镜像内容就是动态变化的,而且很容易被覆盖,最后使用flock的方式来改进

3)备份可视化的改进

之前的备份任务是类似下面的表格形式,其实效果会很模糊。

可以考虑改进成下面的形式,如果通过可视化的改进,整个备份的进度和效果就有了然了。

相关链接:

相关文章


  • MySQL事务管理的介绍(附示例)
  • MySQL 自增 id 超大问题查询
  • 数据库笔试面试82——在MySQL中,把TEST表的ID列设置为主键,并在NAME字段上创建普通索引
  • 数据库笔试面试98——在MySQL中,有两个复合索引(A,B)和(C,D),以下语句会怎样使用索引?
  • MySQL/InnoDB乐观锁悲观锁共享锁、排它锁行锁表锁死锁概念的理解
  • 数据库笔试面试97——在MySQL中,如何分析一条SQL语句的执行性能?需要关注哪些信息?
  • 【FB TV】一周「BUF大事件」:Cloudflare泄露用户信息;MySQL数据库遭勒索;碰撞攻击实例首位受害者WebKit
  • 「蓉华软创测试基础」软件测试环境搭建07:安装Workbench并设置远程连接MySQL