问题描述:将一个库中的表迁移到另一个数据库或实例下,利用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. cat、more、less、tail、head文件查看指令辨析

    1.cat 简介 cat [OPTION]... [FILE]... cat 可以将多个文本连接起来并输出,当省略输入文件或输入文件用字符-替代时,读取标准输入 常用参数 -n \(~~~~\)输出行 ...

  2. Linux 格式化 挂载 Gdisk

    对磁盘进行格式化mkfs 创建文件系统 xfs ext4/2/3 mkfs -b 设定数据区块(block)占用空间大小,目前支持1024.2048.4096 bytes每个块.默认4K mkfs - ...

  3. 线上Java调优-Arthas入门

    1.SSH连接目标主机,找到对应容器ID docker ps | grep eam 2.进入容器,并启用bash docker exec -it 01c6ab243ff4 /bin/bash 3.按A ...

  4. squad经验总结

    啊美丽卡:M1A2 - TANKM2A3 - BLDL/M2A3M1126 - SCKMATV - RWS(电摇),ZCC(手摇)MATV(TOW) - TOW车M989 - 补给卡/运兵卡 俄军 8 ...

  5. vue再请求头加token

    Vue:全局拦截所有请求,并在请求头中添加token - 道祖且长 - 博客园 (cnblogs.com) util.js export function sessionSet(user){ let ...

  6. win10 自带输入法设置小鹤双拼

    1.创建bat文件: 小鹤双拼.bat 2.编辑小鹤双拼.bat 添加内容: reg add HKEY_CURRENT_USER\Software\Microsoft\InputMethod\Sett ...

  7. WIn环境基于vs编辑器,Qt应用申请管理员权限的解决方法(转载)

    原文章地址:https://blog.csdn.net/weixin_38416696/article/details/103879377 基本按照那个文章的操作.基本可以了. 唯一问题就是那个vs的 ...

  8. Switch问题

    package com.company;public class Main { public static void main(String[] args) { Income[] incomes = ...

  9. codec

    1.codec究竟是什么 音频解码芯片:Audio codec,又叫声卡:本质就是ADC和DAC 2.codec的作用 在移动设备中,codec的作用可以归结为4种,分别如下: playback:对P ...

  10. 一文带你吃透Redis

    目录 1. 基本数据结构 2. 数据持久化 3. 高可用 4. 缓存 文章字数大约1.9万字,阅读大概需要66分钟,建议收藏后慢慢阅读!!! 1. 基本数据结构 什么是Redis Redis是一个数据 ...