Innodb表空间迁移过程
1.大致流程
将a实例的表的数据迁移到b实例上.
1.在目标实例b上创建一个相同的表 2.在目标库b上执行ALTER TABLE t DISCARD TABLESPACE; 3.在源库a上执行FLUSH TABLES t FOR EXPORT;生成.cfg文件 4.将.ibd文件和.cfg文件拷贝到目标实例b 5.在源库a执行unlock tables; 6.在目标库b执行ALTER TABLE t IMPORT TABLESPACE; |
2.详细步骤
b实例上: create database yy; 在a实例上: show create table y;将建表语句复制到b实例use yy后并执行. 相应表文件是y.frm和y.ibd. a实例上: mysql> create database yy;
mysql> use yy;
mysql> create table y (name varchar(10),age int);
mysql> insert into y values ('yy.y',25);
mysql> insert into y values ('yy.y',26);
mysql> insert into y values ('yy.y',27);
b实例上:
mysql> create database yy;
mysql> use yy;
mysql> create table y (name varchar(10),age int);
|
2.在b实例上: ALTER TABLE
y DISCARD
TABLESPACE;
discard的意思就是从数据库detached,会删除ibd文件,保留frm文件。也就意味着,你可以对frm文件操作,比如:rename table,drop table ,但是不能对ibd文件操作,比如:dml. b实例上删除y表的数据文件:
[root@lbg2 ~]# cd /home/mysql3306/mysql3306/yy
[root@lbg2 yy]# ls
db.opt y.frm y.ibd
mysql> ALTER TABLE
y DISCARD TABLESPACE; [root@lbg2 yy]# ls
db.opt y.frm
|
TABLES y FOR
EXPORT;
表y这时候处于quiesce状态,只读,且创建.cfg metadata文件. a实例上: [root@master yy]# ls db.opt mysql> FLUSH [root@master yy]# ls db.opt flush tables .. for |
4.将a实例中y.cfg和y.ibd拷贝到b实例对应位置.并在b上修改对应权限.
在a实例:
[root@master yy]# scp y.cfg [root@master yy]# scp y.ibd 在b实例: [root@lbg2 yy]# ls db.opt [root@lbg2 yy]# chown -R mysql.mysql |
5.在实例a执行unlock
tables解锁;
a实例:
mysql> unlock tables; 执行unlock |
6.在实例b上导入tablespace: ALTER TABLE y IMPORT
TABLESPACE;
b实例:
mysql> ALTER TABLE y IMPORT mysql> select * from y; +------+------+ | name | age | +------+------+ | yy.y | | yy.y | | yy.y | +------+------+ 完成表空间迁移。 |
说明:迁移数据会对表加锁.完成迁移后b实例下,依旧保留y.cfg,但解锁后,a实例下y.cfg自动删除.
3.innodb可传输表空间注意事项
必须开启 innodb_file_per_table
当这个表处于quiesced状态,甚至不能被select 两边实例的page size 一致 5.7 版本之前,不支持分区表transport外键相关的表,必须设置 foreign_key_checks=0 才能成功 ALTER TABLE ... IMPORT 5.6以及更高版本,import&export 版本必须在同一个series 在replication环境中,master & 对于InnoDB general tablespace,不支持discard & import 如果两边服务器的table row_format设置的不一样,会导致schema mismatch 加密过的InnoDB tablespace 必须要拷贝.cfp 文件 |
4.MyISAM表空间迁移
1. flush table with read lock
2. 直接复制数据文件和表结构文件 |
Innodb表空间迁移过程的更多相关文章
- Innodb 表空间传输迁移数据
在mysql5.5之前,mysql实例中innodb引擎表的迁移是个头疼的问题,要么使用mysqldump导出,要么使用物理备份的方法,但是在mysql5.6之后的版本中,可以使用一个新特性,方便地迁 ...
- MySQL Innodb表空间不足的处理方法
官方给出的解决方案: 添加和删除 InnoDB 数据和日志文件 这一节描述在InnoDB表空间耗尽空间之时,或者你想要改变日志文件大小之时,你可以做的一些事情. 最简单的,增加InnoDB表空间大小的 ...
- 10. InnoDB表空间加密
10. InnoDB表空间加密 InnoDB支持存储在单独表空间中的表的数据加密 .此功能为物理表空间数据文件提供静态加密. 详细信息见官方文档
- ibd2sdi — InnoDB表空间SDI提取实用程序
参考mysql8.0官方文档 https://dev.mysql.com/doc/refman/8.0/en/ibd2sdi.html ibd2sdi是一个实用程序,用于从表空间文件中提取 序列化的字 ...
- MySQL InnoDB表空间加密
从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 .此功能为物理表空间数据文件提供静态加密.该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系统时加 ...
- Innodb 表空间卸载、迁移、装载
从MySQL的Innodb特性中我们知道,Inndob的表空间有共享和独享的特点,如果是共享的.则默认会把表空间存放在一个文件中(ibdata1),当开启独享表空间参数Innodb_file_per_ ...
- InnoDB表空间、段、区
1. 表空间是InnoDB存储引擎逻辑结构的最高层,所有的数据都存放在表空间中.默认,InnoDB存储引擎只有一个表空间ibdata1,即所有数据都存放在这个表空间内.如果用户启用了参数innodb_ ...
- Innodb表空间
Innodb有两种管理表空间的方法 独立表空间:每一张表都会生成独立的文件来进行存储,每一张表都有一个.frm表描述文件,和一个.ibd文件.其中ibd文件包括了单独一个表的数据内容和索引内容. 共享 ...
- 019:InnoDB 表空间内部组织结构
一. 表空间内部组织结构 表空间 内部有多个段对象(Segment) 组成 每个段(Segment)由区(Extent) 组成 每个区(Extent)由页(Page)组成 每个页里面报存数据 (或者叫 ...
随机推荐
- MeteoInfoLab脚本示例:subplot
subplot命令可以自动等间距分配多个坐标系(Axes),命令中有三个参数,前两个定义了行数和列数,第三个指定了当前的坐标系(Axes),绘图命令是作用在当前坐标系中的. 脚本程序: def f(t ...
- day22 Pyhton学习 re模块和正则表达式
正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个" ...
- 【C语言C++编程学习笔记】基础语法,第一个简单的实例编程入门教程!
C语言/C++编程学习:一个简单的实例 让我们来看一个简单的C语言程序.从下面的程序可以看出编写C语言程序的一些基本特征. 如果你能知道该程序将会在显示器上显示一些内容,那说明你还是知道一些的! ...
- 【树形DP】ZJOI2008 骑士
题目内容 洛谷链接 有\(n\)位骑士,每个人的战力可能不同,并且每一个人都有且仅有一个憎恨的人,互相憎恨的人不能在同一队中. 求组合为一个骑士队的最大战斗力. PS:可以去看看题目背景学学历史(雾) ...
- nginx安全: 配置http基本验证(Basic Auth)(nginx 1.18.0)
一,http基本验证的作用: 1,http基本身份验证会从浏览器弹出登录窗口, 简单明了,容易理解, 对于面向终端用户的前台来说,不够友好, 但对于内部员工操作的后台还是很有用,通常作为一层安全措施应 ...
- java axis调用带有soap头(soapheader)的.net webservice
使用axis调用.net带soapheader的webservice是如何实现的,现在贴出代码 <?xml version="1.0" encoding="utf- ...
- Linux显示系统信息sh脚本
#!/bin/bash # #******************************************************************** #Author: wangxia ...
- RocketMQ主从搭建
RocketMQ可分为以下几种模式: 单点模式 主从模式 双从模式 双主双从模式,多主多从模式 搭建主从模式 tar -zxvf rocketmq-4.6.0.tar.gz -C /usr/local ...
- CTF:sctf_2019_easy_heap
这个题目当时比赛的时候靶机据说是ubuntu16.04,但是迁移到buu上就变成了ubuntu18.04,下面针对两个平台给出不同的解法,先写一下18.04下的 先来逆一下,关键点有一下几个 mmap ...
- Zabbix批量添加Hosts
添加脚本 addhost.py #coding:utf-8 import json import urllib2 from urllib2 import URLError import sys imp ...