问题描述:将一个库中的表迁移到另一个数据库或实例下,利用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. openwrt扩容

    方法二.三记得先使用Linux系统打开 GParted -- Download 方法三偏移地址获取: 1. 运行的openwrt安装losetup 2. 安装完毕后执行:losetup 获取偏移地址. ...

  2. 阿里云Linux服务器部署JDK8实战教程

    下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 文件上传 把下载的文 ...

  3. eset node32卸载记录

    安装的是这个东西,卸载麻烦 1.一般的卸载软件比如wise program uninstall无论是普通卸载还是强制卸载都是实现不了的,火绒自带的文件粉碎是可以使用的,有两个目录要进行粉碎C:\Pro ...

  4. 图模配置文件之 flow.json

    flow.json文件是用来配置图模导入时,各种不同的图模导入时,分别应该使用哪个映射文件对模型进行处理.在不同地区使用不同的格式的图模文件时,需要修改flow.json中相关的配置,来适应相应的图模 ...

  5. 关于 用鼠标移动拖放 TabControl 标签 操作 实现 类

    1.相关说明已有 2.本类有可以改进的地方,如更进,希望交流 3.对多行标签的支持没做特别解决,效果不太好 4.初学者使用,即可通过其构造函数直接加载需要赋予此拖放功能的 TabControl 即可实 ...

  6. 【JIRA】jira issue reindex

    参考文档: https://community.atlassian.com/t5/Marketplace-Apps-Integrations/Scriptrunner-Listener-Reindex ...

  7. MYSQL5.7实现递归查询

    根据父id查出所有子级,包括子级的子级,包括自身的id sys_tenant_company_relation为关联表, company_id为子id,parent_company_id为父id SE ...

  8. 【帆吖】Java学习零基础21

    数组 1 package array; 2 3 public class Demo1 { 4 public static void main(String[] args) { 5 int[ ] num ...

  9. .net 学习必须学的书籍,新手必备,老手升级必须品!!!

    最近看到一篇文章 是关于学习.net的数据 给大家看看. <<第一篇:>> 人身为一个典型的技术宅,平时看了一些技术书籍.算不上是"博览群书",但也涉猎不少 ...

  10. gRPC之.Net6中的客户端和服务端共用proto协议文件

    1.说明 在上一篇文章gRPC之.Net6中的初步使用介绍中,我们简单的介绍了gRPC在服务端.客户端以及Web项目中的使用. 有一个问题,不知道大家发现没有,就是不管在服务端项目还是客户端项目中,我 ...