问题描述:将一个库中的表迁移到另一个数据库或实例下,利用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存储引擎的表可以直接物理迁移

mysql迁移:ibd表空间迁移库表的更多相关文章

  1. 使用MySQL传输表空间迁移数据

    对于大表的迁移,如果使用mysqldump进行导出,然后重新导入到其它环境,速度是非常缓慢的.如果使用传输表空间,则可以解决这个问题. 测试使用传输表空间迁移表,基础环境如下:   源库 目标库 IP ...

  2. mysql 案例 ~ 表空间迁移数据与数据导入

    一  简介:mysql5.6+的表空间传输二 目的:复制数据到另一个表三 步骤   1 create table b like a ->创建一个空表   2 alter table b disc ...

  3. mysql5.6之 传输表空间迁移表或恢复误删除的表

    一,简单说明: 1),传输表空间的限制:  1,mysql 版本 5.6.6 及其以上,并且版本建议源和目标版本建议都是GA版并且大版本一样  2,表引擎为innodb并且开启独立表空间  innod ...

  4. Oracle 表空间迁移

    迁移表空间databump 使用databump导入导出,两个库用户必须一致,否则另一个库导入的时候会报错.所以两个库都是用helei用户. 给两个数据库的用户分别授予dba权限,这里只是实验更清晰而 ...

  5. 【oracle11g,18】存储结构:暂时表,手工条带化,表/索引迁移表空间,删除表,外部表

    一. 暂时表 暂时表放在暂时表空间,不生成redo,仅仅有undo. 在暂时表中能够创建索引.视图及触发器,还能够使用"Export and Import(导出和导入)"或&quo ...

  6. 如何通过RMAN使用传输表空间迁移到不同的Endian平台 (Doc ID 371556.1)

    How to Migrate to different Endian Platform Using Transportable Tablespaces With RMAN (Doc ID 371556 ...

  7. mysql InnoDB引擎 共享表空间和独立表空间(转载)

    PS:innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 1.什么是共享表空间和独占表空 ...

  8. [Mysql]Innodb 独立表空间和共享表空间

    innodb有2中表空间方式: 共享表空间 和 独立表空间 查询数据的设置: show variables like '%per_table'; 默认是共享表空间,独立表空间在配置文件中添加 inno ...

  9. MySQL如何判别InnoDB表是独立表空间还是共享表空间

    InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file ...

  10. mysql共享表空间和独立表空间

    innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等. 对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 什么是共享表空间和独占表空间 共享 ...

随机推荐

  1. 小梅哥课程学习——串口发送应用之发送数据(可在vivado中仿真出现正确波形)

    //1.底层代码源代码发送10位数据 module uart_pr( clk, reset_n, send_go, data, baud_set, tx_done, uart_tx ); input ...

  2. 字符过滤流 对象流---->ObjectInputStream : 用法

    1创建字输入节点流FileInputStram fis = new FileInputStream("读入的文件的路径");2创建对象输入过滤流 包装字节流ObjectInputS ...

  3. win10 IE浏览器中,设置指定程序查看源文件,设置查看源默认程序

    解决 win10下修改ie默认查看网页源文件程序无效,设置View Source Editor ----> Editor Name注册表项无效 1. 修改注册表 计算机\HKEY_CLASSES ...

  4. 关于Centos7Th 初始化的一些概述

    - 概述 Q:为什么要初始化,什么是初始化? A:一般初始化是根据的后期要部署的业务环境来定制的,新装的系统其自带的软件不够支撑各种开发环境或者运维工作:需要部署和设置对应的安全环境.开发/运维软件. ...

  5. 加热算法,加热温度控制加热功率,加热功率控制加热速度(PWM)

    uint8_t user_heating_algorithmPID(void) { uint32_t temp_1; uint16_t Adcn; nrfx_err_t err_code; HEATI ...

  6. WebLogic & Kubernetes

    搭建kubernetes集群环境 安装前的规划 主机名 地址 角色 组件 k8s-master 192.168.56.118 k8s-master etcd.kube-apiserver.kube-c ...

  7. js指南

    1.for /in: 与for/of相比,可迭代对象不同,in后面可以是任意对象.数组.字符串.集合和映射可迭代. object.keys()   object.values()   object.e ...

  8. tableau连接mysql

    1.下载驱动地址:https://dev.mysql.com/downloads/connector/odbc/ 2.选择MSI Installer自动安装自动配置 3.本地127.0.0.1(其他I ...

  9. django 批量提交

    https://www.cnblogs.com/lbzbky/articles/11792545.html

  10. java代码审计-SpEL表达式注入

    0x01 前言 Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言.用于在运行时查询和操作对象图:语法上类似于Unified EL,但提供了更多的特性,特 ...