zoukankan      html  css  js  c++  java
  • 表迁移工具的选型-xtrabackup的使用

    1.1. 场景

    有的时候test人员可能需要在测试库上比较新的数据,这时候只能是从生产库上面去那了。如果是小表还好实用mysqldump/mysqlpump就可以轻松的解决。但是,如果遇到了大表这将是一个很痛苦的过程。这时候最好的选择就是使用Percona公司的MySQL热备工具xtrabackup了。

    1.2. 为什么不使用ibd文件拷贝方法

    很简单,因为要锁表对生产环境影响比较大。

    1.3. 扩展

    当然如果他们数据的要求并不是那么高可以使用每天用xtrabackup备份的来做。但是,这往往会比现场直接备份生产库的某张表来的麻烦,因为往往我们使用的是增量备份,还要应用之前的所有日志。而且为了防止破坏备份数据,还需要拷贝一份。

     

    1.4. 先决条件

    前提必须开启innodb_file_per_table选项,并且使用InnoDB存储引擎。

    由于我使用的是 Percona Server 5.7.10-3 所以需要使用的xtrabackup版本为2.4.1

    1.5. 制造大表

    下面我们制造表数据,下面模拟的数据比较小,主要是为了节省时间。

    查看数据大小情况(磁盘上的数据大小)

    查看真实的大小情况

    从上面可以看出在磁盘上的数据大小是1.2G,而实际的大小才1048MB(估计值),实际情况会比上面的数据大很多。

    1.6. 表迁移演示

    1、使用xtrabackup备份test.t1表数据

    2、查看备份集

    3、应用日志并导出元数据

    4、test2库中创建和test.t1相同的表结构

    5、废弃test2.t1表空间,等待新表空间导入

    6、将test.t1表*.ibd和*.cfg文件拷贝到test2库中

    7、test2导入t1数据

    8、查看test2.t1数据

     

    1.7. 总结

    xtrabackup这种表迁移算是比较复杂的了,但是他对数据库的影响是比较小的。虽然说影响小,但是还是会有影响的。所以迁移还是避免高峰时期比较妥当。

  • 相关阅读:
    MobileIMSDK连接后频繁掉线重连,提示会话超时失效,对方非正常退出或网络故障
    Android+SpringBoot+Vue+高德地图实现后台查看车辆实时位置功能
    Vue中集成高德地图API实现定位与自定义样式信息窗体
    Java中对接钉钉API获取数据流程
    Java中集成极光推送实现给Android提送消息通知(附代码下载)
    Android中集成极光推送实现推送消息通知与根据别名指定推送附示例代码下载
    PostGresSQL简介与Windows上的安装教程
    信息系统项目管理师-知识产权、项目收尾、标准规范核心知识点思维脑图
    信息系统项目管理师-项目成熟度模型、量化项目管理核心知识点思维脑图
    信息系统项目管理师-招投标法、政府采购法核心知识点思维脑图
  • 原文地址:https://www.cnblogs.com/conanwang/p/5957278.html
Copyright © 2011-2022 走看看