mysql备份原理与在TDSQL中的实践-雷海林
雷海林是腾讯公司TEG计费平台部的技术负责人,拥有超过10年的Linux后台服务器开发经验,尤其在分布式缓存系统的设计和开发方面有丰富的经验。在这份文档中,雷海林详细介绍了MySQL的备份原理,并结合实际工作中使用的TDSQL数据库,分享了在该数据库环境下实现备份的方法与实践经验。 在备份的意义方面,雷海林指出备份主要有以下几个目的:A)纠正错误的SQL操作;B)解决业务或数据库本身的Bug;C)应对黑客攻击;D)用于审计或测试,回档到特定时间点;E)让数据库管理员能安心睡觉。以上这些情况都说明了备份对于数据库管理的重要性。 备份的基本原理涉及到多引擎结构下的数据文件、日志文件、事务日志等数据库组件。如MySQL-Server层包含binlog、InnoDB存储引擎的缓冲池、重做日志(redolog)、回滚日志(undolog)、数据文件(datafile)等,以及其他引擎的表结构(.frm文件)等。 接着雷海林分析了mysqldump工具的备份原理,尤其是针对InnoDB存储引擎的备份。在备份过程中,可通过mysqldump命令结合一系列参数实现一致性的全量数据备份和BINLOG位置的获取。对于InnoDB存储引擎,可以使用单事务的方式创建一致性的快照。mysqldump工具使用简单、便捷,但需要注意的是,对于InnoDB和MyISAM存储引擎混合使用的情况下,为确保数据一致性需要加全局读锁,这会影响到数据库的正常操作。 对于FTWRL(FLUSHTABLESWITHREADLOCK)锁的分析中,雷海林提到,使用FTWRL锁后会使得Query Cache失效,并且在等待DML操作时会带来一些性能影响。 在备份方案的选择上,雷海林还比较了不同的备份方案,并给出了选型建议。比如逻辑备份与物理备份的区别,以及在不同场景下各自的优势。 雷海林介绍了TDSQL目前所采用的备份方案。TDSQL是腾讯云提供的分布式关系型数据库服务,适合金融级的业务场景。由于TDSQL是基于MySQL研发,因此这些备份原理和实践在TDSQL中同样适用。 总结来说,备份是数据库管理中的一项关键任务,它可以避免数据丢失并确保业务连续性。备份策略的选择和备份工具的使用需要根据具体的业务场景、系统架构和性能要求来定。通过这份文档,我们能够对MySQL的备份原理有深入的理解,并且了解在TDSQL环境中实施备份的可能方法和注意事项。
剩余28页未读,继续阅读
- liusg1232016-11-28资源还算不错。
- donglanyu_1232018-05-11还可以,谢谢分享
- 粉丝: 752
- 资源: 30
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助