zoukankan      html  css  js  c++  java
  • 表迁移工具的选型-复制ibd的方法

    1.1. 场景

    有的时候开放人员自己的库需要帮忙导一些数据,但是表的数据量又很大。虽然说使用mysqldump或mysqlpump也可以导。但是这耗时需要比较久。

    记得之前建议开放人员可以直接使用navicat去抽取测试库的数据。但是发现但遇到大表的时候,发现navicat会卡死。

    1.2. 使用方法

    使用拷贝*.ibd的方法。

    注意:使用这种方法会锁表。因为是测试库,对服务器有一些影响还是可以接受的。

    1.3. 先决条件

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

    1.4. 制造大表

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

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

    查看真实的大小情况

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

    1.5. 将test.t1迁移到test2.t1中

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

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

    3、锁表导出test.t1表元数据

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

    5、释放test.t1锁

    6、test2导入t1数据

    7、查看test2.t1数据

    1.6. 总结

    如果是数据量比较大,并且可以忍受对服务器有一点影响的,就可以考虑使用这种方法来处理。并且需要注意的是最好迁移的数据库版本是相同的。

  • 相关阅读:
    10个你可能不知道的JavaScript小技巧
    QuickFlow2.0 安装指南
    QuickFlow教程(5): RuleDriven活动,角色提供程序自定义,邮件模板
    QuickFlowDesigner教程(2)工作流表单快速自定义
    QuickFlowDesigner1.0(Build091025)发布
    QuickFlow2.0无代码工作流设计器QuickFlowDesigner1.0 beta publish
    QuickFlowDesigner教程(3)UI代码和工作流交互
    QuickFlow Aspx Form example deploy wizard
    多选用户字段的Caml查询问题
    QuickFlowDesigner教程(4)如何用代码控制活动操作人
  • 原文地址:https://www.cnblogs.com/conanwang/p/5957246.html
Copyright © 2011-2022 走看看