关于RDS mysql恢复数据到本地自建库的方法略述
发布日期:2015-11-8 15:11:41
RDS for mysql 提供多种方式可以让用户同步数据到本地自建库。可以有以下方法: 1、如果在物理备份已经生成后对于数据库仍然有增删改的操作的话,则需要您在恢复物理备份后还需要追加后续的binlog文件,可以通过API/控制台获取binlog文件去追加增量数据。这里有一个非常需要注意的一点是在解压出来物理备份文件后除了数据和索引文件外还有得到如下图中的一些文件: 2、如果RDS上的数据没有发生增删改的操作的话,可以生成逻辑备份或者物理备份,然后将物理备份和逻辑备份通过mysqldump或者Xtrabackup将数据导入到自建库,可参考:https://docs.aliyun.com/?spm=5176.383338.201.106.7OGycH#/pub/rds/getting-started/moveout&mysql-physical-backup和https://docs.aliyun.com/?spm=5176.383338.201.106.7OGycH#/pub/rds/getting-started/moveout&mysql-logical-backup。 由于在物理备份上应用binlog是需要记录binlog的pos点的,所有的RDS都是采用主备架构保证高可用性的,为保证主库正常对外提供服务,备份操作是在从库上执行的,但是生成出来的binlog文件却既有可能是主库或者从库上生成(两个binlog文件的pos点是不一致的)。提供给用户的也可能是这里面的任意一份,因此在物理备份文件中给用户提供了两个binlog文件的pos点,如下图: 用户在应用binlog的时候需要两个pos点都测试一下,哪个pos点可以在binlog中找到从这个pos点开始应用binlog。 3、如果用户想要将RDS上的增量数据同步在自建库的binlog上可以使用DTS的数据订阅功能,可以通过SDK消费增量数据即可再自己应用该数据。操作界面如下图。在下面的例子中用户就可以消费2015-9-18 16:38:11到2015-09-19 17:37:44的增量数据。如下图: 上一条: 关于数据库是否可以转成UTF-8的问题 下一条: 关于RDS mysql临时表的优化方案
|