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存储引擎的表可以直接物理迁移
mysql迁移:ibd表空间迁移库表的更多相关文章
- 使用MySQL传输表空间迁移数据
对于大表的迁移,如果使用mysqldump进行导出,然后重新导入到其它环境,速度是非常缓慢的.如果使用传输表空间,则可以解决这个问题. 测试使用传输表空间迁移表,基础环境如下: 源库 目标库 IP ...
- mysql 案例 ~ 表空间迁移数据与数据导入
一 简介:mysql5.6+的表空间传输二 目的:复制数据到另一个表三 步骤 1 create table b like a ->创建一个空表 2 alter table b disc ...
- mysql5.6之 传输表空间迁移表或恢复误删除的表
一,简单说明: 1),传输表空间的限制: 1,mysql 版本 5.6.6 及其以上,并且版本建议源和目标版本建议都是GA版并且大版本一样 2,表引擎为innodb并且开启独立表空间 innod ...
- Oracle 表空间迁移
迁移表空间databump 使用databump导入导出,两个库用户必须一致,否则另一个库导入的时候会报错.所以两个库都是用helei用户. 给两个数据库的用户分别授予dba权限,这里只是实验更清晰而 ...
- 【oracle11g,18】存储结构:暂时表,手工条带化,表/索引迁移表空间,删除表,外部表
一. 暂时表 暂时表放在暂时表空间,不生成redo,仅仅有undo. 在暂时表中能够创建索引.视图及触发器,还能够使用"Export and Import(导出和导入)"或&quo ...
- 如何通过RMAN使用传输表空间迁移到不同的Endian平台 (Doc ID 371556.1)
How to Migrate to different Endian Platform Using Transportable Tablespaces With RMAN (Doc ID 371556 ...
- mysql InnoDB引擎 共享表空间和独立表空间(转载)
PS:innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 1.什么是共享表空间和独占表空 ...
- [Mysql]Innodb 独立表空间和共享表空间
innodb有2中表空间方式: 共享表空间 和 独立表空间 查询数据的设置: show variables like '%per_table'; 默认是共享表空间,独立表空间在配置文件中添加 inno ...
- MySQL如何判别InnoDB表是独立表空间还是共享表空间
InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file ...
- mysql共享表空间和独立表空间
innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等. 对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 什么是共享表空间和独占表空间 共享 ...
随机推荐
- 模拟法NOIP题单
模拟算法的试题训练, 重点针对试题分析环节的练习锻炼!! 考察阅读能力.分析能力.建模能力! 模拟法题目是最基础的题目,她不难,她复杂,她的实现往往需要足够的细心耐心! 练习这类题目能够使你掌握其他算 ...
- 库已安装但找不到ttkbootstrap库
cmd里装,弹提示Requirement already satisfied pip install --target=F:\Python37\lib ttkbootstrap https://blo ...
- 3、HTTP请求头与响应头
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- 字符过滤流 对象流---->ObjectInputStream : 用法
1创建字输入节点流FileInputStram fis = new FileInputStream("读入的文件的路径");2创建对象输入过滤流 包装字节流ObjectInputS ...
- 使用idea从零编写SpringCloud项目-Hystrix
ps:Hystrix和Fegin里面使用的Hystrix,有些许区别.我理解的是Fegin.Hystrix主要是用于消费方在调用服务方接口时的异常处理,返回兜底数据等,而Hystrix则是消费方自己本 ...
- Flask-Migrate数据库模型映射
1.Flask-Migrate介绍 flask-migrate可以十分方便的进行数据库的迁移与映射,将我们修改过的ORM模型映射到数据库中.flask-migrate是基于Alembic进行的一个封装 ...
- 艾思最新案例分享:塔蓝物流app-物流仓储管理系统app. app开发
塔蓝物流app是一款物流仓储管理app:主要业务范围空运,海运,进出口货物及过境货物的运输代理,包括揽物订舱,仓储(危险品除外),包装,搬运装卸,中转,流通加工,集装箱拼装拆箱(危险品除外),结算运杂 ...
- GDB使用详解
来源:GDB使用详解 - 知乎 (zhihu.com) 1. 概述 GDB 全称"GNU symbolic debugger",从名称上不难看出,它诞生于 GNU 计划(同时诞 ...
- Switch问题
package com.company;public class Main { public static void main(String[] args) { Income[] incomes = ...
- IDEA如何使用Maven不通过模板创建javaWeb项目
IDEA如何使用Maven不通过模板创建javaWeb项目 1.创建项目 进入IDEA,点击"项目">"新建项目",填写项目信息,最后点击"创建 ...