高性能MySQL–备份与恢复
- 3768
- 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.复制数据
你有信仰就年轻,疑惑就年老;有自信就年轻,畏惧就年老;有希望就年轻,绝望就年老;岁月使你皮肤起皱,但是失去了热忱,就损伤了灵魂。——卡耐基
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例