• mysql迁移:ibd表空间迁移库表


    问题描述:将一个库中的表迁移到另一个数据库或实例下,利用ibd文件物理迁移,可适用情况为数据库起不来,强制迁移数据文件恢复

    将数据库中的zabbix数据迁移到另一个库中

    frm:存储表的列信息

    ibd:表的数据行和索引

    myd 表数据文件

    myi 表索引文件

    1.备份出来表结构,如果有历史库的情况可备份

    mysqldump -uroot -p -S /data/3307/mysql.sock -B  zabbix --no-data > /data/zabbix_20210128.sql

    2.传到测试库上进行恢复

    mysql> source /data/zabbix_20210128.sql
    
    ERROR 1813 (HY000): Tablespace '`zabbix`.`Student`' exists.
    ERROR 1813 (HY000): Tablespace '`zabbix`.`Teacher`' exists.
    ERROR 1813 (HY000): Tablespace '`zabbix`.`course`' exists.
    ...

    错误原因:

    应该在把表结构回复完成后,再把源库的,ibd文件传过来,要不然直接恢复有冲突

    3.表结构恢复完成

    mysql> show tables;
    +------------------+
    | Tables_in_zabbix |
    +------------------+
    | Student          |
    | Teacher          |
    | city             |
    | course           |
    | department       |
    | stu              |
    | zabbix_table     |
    +------------------+
    7 rows in set (0.00 sec)

    4.删除恢复库的表空间

    mysql> alter table Student discard tablespace;
    table discard tablespace;Query OK, 0 rows affected (0.00 sec)
    
    mysql> alter table Teacher discard tablespace;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> alter table city discard tablespace;
    ERROR 1031 (HY000): Table storage engine for 'city' doesn't have this option
    mysql> alter table course discard tablespace;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> alter table department discard tablespace;
    ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails ()
    mysql> alter table stu discard tablespace;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> alter table zabbix_table discard tablespace;
    Query OK, 0 rows affected (0.00 sec)

    外键冲突

    set foreign_key_checks=0 跳过外键检查。

    5.重新删除表空间

     

    mysql> alter table Student discard tablespace;
    table discard tablespace;Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> alter table Teacher discard tablespace;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> alter table city discard tablespace;
    ERROR 1031 (HY000): Table storage engine for 'city' doesn't have this option
    mysql> alter table course discard tablespace;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> alter table department discard tablespace;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> alter table stu discard tablespace;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> alter table zabbix_table discard tablespace;
    Query OK, 0 rows affected, 1 warning (0.01 sec)

     

    有一个存储引擎为MyIsam的表不支持这样恢复

    6.导入表空间

     

    mysql> alter table Student import tablespace;
    mport tablespace;Query OK, 0 rows affected, 1 warning (0.01 sec)
    
    mysql> alter table Teacher import tablespace;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> alter table city import tablespace;
    ERROR 1031 (HY000): Table storage engine for 'city' doesn't have this option
    mysql> alter table course import tablespace;
    Query OK, 0 rows affected, 1 warning (0.02 sec)
    
    mysql> alter table department import tablespace;
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    
    mysql> alter table stu import tablespace;
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    
    mysql> alter table zabbix_table import tablespace;
    Query OK, 0 rows affected, 1 warning (0.01 sec)

     

    7.验证导入数据情况

    默认存储引擎是Innodb的数据都没有问题,但是之前更改成MyIsam的导入不成功

    8.恢复MyIsam存储引擎的表

     

    MyIsam的存储方式:

     

    Innodb的存储方式:

    将源库的city表文件传输到恢复库指定位置

     

    [mysql@mysql-test /data/3307/data/zabbix ]$ cp city.frm city.MYD city.MYI /data/3308/data/zabbix/

     

    9.查询验证数据库数据

     

     

     

     

    MyIsam存储引擎的表可以直接物理迁移

     

     

     

     

     

     

  • 相关阅读:
    Android进阶之关闭所有activty
    弹出窗口插件欣赏
    关于之前放在google 的资源不能下载的解决方案
    图片垂直居中的使用技巧
    关于采用业务用例视图来展示、归纳、整理业务用例的三点指导原则
    操作系统引导的那点事
    可视化拾色器
    AE中删除属性字段
    AE中添加属性字段
    vs2005c#中用户组件在工具箱中不能自动出现的解决办法
  • 原文地址:https://www.cnblogs.com/houzhiheng/p/14339784.html
Copyright © 2020-2023  润新知