高性能MySQL–备份与恢复

  •   
  • 3306
  • MySQL
  • 27
  • super_dodo
  • 2017/03/03

高性能MySQL--备份与恢复

备份非常重要的几个理由:灾难恢复、人们改变想法、审计、测试等。

在规划备份时,有一些性能相关的因素需要考虑。锁时间、备份时间、备份负载、恢复时间。最大的权衡是备份时间与备份负载。

有两种主要的犯法来备份MySQL数据:逻辑备份(也叫导出)和直接复制原始文件的物理备份。逻辑备份将数据包含在一种MySQL能够解析的格式中,要么是SQL(mysqldump),要么是以某个符号分隔的文本。原始文件是指存在于硬盘上的文件。

当数据量很庞大时,一个常见的策略就是做定期的增量或差异备份。增量和差异备份都是部分备份。例如在每周日做一个全备份,在周一,对自周日一来所有的变更做一个差异备份。

一条命令就能穿件快照,只需要决定快照存放的位置和分配给写时复制的空间大小即可。

从备份中恢复
1.停止MySQL服务器。
2.记录服务器的配置和文件权限。
3.将数据从备份中移到MySQL数据目录。
4.改变配置。
5.改变文件权限。
6.以限制访问模式重启服务器,等待完成启动。
7.载入逻辑备份文件。
8.检查和重放二进制日志。
9.检测已经还原的数据。
10.已完全权限重启服务器。
使用日志服务器进行恢复
1.将需要恢复的服务器叫做server1.
2.在另外一台叫做server2的服务器上恢复昨晚的备份。在这台服务器上运行恢复进程。一面在恢复是犯错而导致事情更糟。
3.设置日志服务器来接收server1的二进制日志。
4.改变server2的配置文件,增加如下内容:replicate-do-table=skaola.payment
5.重启server2 然后CHANGE MASTER TO来让它成为日志服务器的备库。配置它从昨晚备份的二进制日志坐标读取。知识后切忌不要运行START SLAVE。
6.检测server2上的SHOW SLAVE STATUS的输出,验证一切正常。要三思而行。
7.找到二进制日志中问题语句的位置,在server2上执行START SLAVE UNTIL来重放事件知道该位置。
8.在server2上用STOP SLAVE停掉复制进程。现在应该有被删除表,因为现在从库停止在被删除之前的时间点。
9.将所需表从server2复制到server1.
备份脚本化
1.安全监测。
2.命令行参数。
3.连接MySQL。
4.停止和启动MySQL。
5.获取数据库和表的列表。
6.对表加锁、刷新并解锁。
7.刷新二进制日志。
8.获取二进制日志位置。
9.导出数据。
10.复制数据

你有信仰就年轻,疑惑就年老;有自信就年轻,畏惧就年老;有希望就年轻,绝望就年老;岁月使你皮肤起皱,但是失去了热忱,就损伤了灵魂。——卡耐基

高性能MySQL--MySQL架构与历史

高性能MySQL--MySQL基准测试

高性能MySQL--服务器性能剖析

高性能MySQL--Schema与数据类型优化

高性能MySQL--创建高性能的索引

高性能MySQL--查询性能优化

高性能MySQL--MySQL高级特性

高性能MySQL--优化服务器设置

高性能MySQL--操作系统和硬件优化

高性能MySQL--主从复制

高性能MySQL--可扩展的MySQL

高性能MySQL--高可用性

高性能MySQL--云端的MySQL

高性能MySQL--应用层优化

高性能MySQL--备份与恢复

高性能MySQL--MySQL用户工具