文章结构如下:

从MYSQL5.6版本开始,引入了传输表空间这个功能,可以把一张表从一个数据库移到另一个数据库或者机器上。迁移的时候很方便,尤其是大表。

由于本次达到测试使用版本5.6.38传到5.7.20。

1、数据库详情

传输和被传输数据库条件:

1、mysql版本必须是5.6及以上的版本。

2、使用独立表空间方式,现在版本默认开启innodb_file_per_table。

3、源库和目标库之间的page size必须一致。

4、当表做导出操作时,该表只能进行只读操作。

5、查看innodb_file_format参数(建表结构注意这个参数)

IP

数据库

类型

操作系统

数据库版本

172.16.20.30

erp (t表)

传输库

Linux 6.7

5.6.38

172.16.20.32

test(t表)

被传输库

Linux 6.7

5.7.20

注意:

从MySQL5.7.7版本中innodb_file_format参数(该参数表示innodb文件格式)的默认值发生了变化,在MySQL5.7.7以前innodb_file_format参数默认是Antelope,而默认的行格式是(ROW_FORMAT)是COMPACT,从MySQL5.7.7以后版本innodb_file_format默认值为Barracuda,默认的行格式是(ROW_FORMAT)是DYNAMIC,所以需要在创建表结构时指定row_format=compact从MySQL5.7.7版本中innodb_file_format参数(该参数表示innodb文件格式)的默认值发生了变化,在MySQL5.7.7以前innodb_file_format参数默认是Antelope,而默认的行格式是(ROW_FORMAT)是COMPACT,从MySQL5.7.7以后版本innodb_file_format默认值为Barracuda,默认的行格式是(ROW_FORMAT)是DYNAMIC,所以需要在创建表结构时指定row_format=compact;5.7.7以后版本到5.6经测试未通过;

2、传输条件检查

1、传输数据库条件检查

版本:5.6.38(满足要求)

innodb_file_per_table参数

mysql> show global variables like 'innodb_file_per_table';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| innodb_file_per_table | ON    |

+-----------------------+-------+

1 row in set (0.00 sec)

查看传输page size(满足要求)

page size 16k

MySQL5.7.7以前innodb_file_format参数默认是Antelope,而默认的行格式是(ROW_FORMAT)是COMPACT,从MySQL5.7.7以后版本innodb_file_format默认值为Barracuda,默认的行格式是(ROW_FORMAT)是DYNAMIC,所以需要在创建表结构时指定row_format=compact;

2、被传输数据库条件检查

版本:5.7.20(满足要求)

innodb_file_per_table参数(满足)

查看传输page size

page size(16K)

查看innodb_file_format参数:

MySQL5.7.7以前innodb_file_format参数默认是Antelope,而默认的行格式是(ROW_FORMAT)是COMPACT,从MySQL5.7.7以后版本innodb_file_format默认值为Barracuda,默认的行格式是(ROW_FORMAT)是DYNAMIC,所以需要在创建表结构时指定row_format=compact;

3、传输演练

1、被传送库建表(表结构,名称一样)

查看传送端建表语句:

CREATE TABLE `t` (

`id` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

注意:

如果此处(向高版本传送表空间)row_format不一样,建表不设置row_format;报错如下:

ERROR 1808 (HY000): Schema mismatch (Table flags don't match, server table has 0x4 and the meta-data file has 0x21)

test库建一张t表:

CREATE TABLE `t` (

`id` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 row_format=compact;

2、卸载被传送端表空间数据文件

注意,这个不能用操作系统删除。

查看生成的数据文件:

卸载表空间数据文件

alter table t discard tablespace;

查看数据文件是否卸载:

无t.idb文件,已卸载。

3、在传送端执行表空间导出操作

在传送端(erp库执行)

flush table t for export;

多了一个t.cfg文件。

将t.cfg,t.ibd文件复制到erp库指定路径并修改权限。

4、被传送端执行导入操作

传送端test数据库执行解锁操作(因为目前处于只读操作,需要解锁操作)

unlock tables;

被传送端执行导入操作:

alter table t import tablespace;

select count(*) from t;

成功把5.6.38 erp.t数据传输到5.7.20 test.t。

mysql1808_mysql表空间传输(ERROR 1808) row_format设置 翰墨文海相关推荐

  1. Mysql数据库drop表不用跑路,表空间传输助你恢复数据

    今天给大家介绍一种,在Mysql数据库中,利用InnoDb的表空间传输功能,帮助你恢复drop的业务表. Mysql表空间传输限制 要使用Mysql数据库表空间传输功能,有2个限制 1.Mysql数据 ...

  2. 跨平台表空间传输(linux 10g表空间跨平台迁移到window 11g)

    最近公司的一个项目里的linux 系统中的oracle 10g数据库,需要把某个表空间里的所有数据都迁移到window 2003的11g里,经过我与dba的交流.测试,决定使用跨平台的表空间传输技术, ...

  3. 跨平台表空间传输(摘自eygle《循序渐进Oracle》)

    需要注意的是,在Oracle 10g之前,数据文件是不能够跨平台传输使用的,从Oracle 10g开始,Oracle支持跨平台的表空间传输,这极大地增强了数据迁移的便利性. 1.  字节顺序和平台 数 ...

  4. windows linux rac,跨平台表空间传输(windows到linux RAC)

    以下演示表空间从windows下传输到linux RAC下全过程 create tablespace test datafile 'D:\app\yichunmei\oradata\orcl\test ...

  5. 通过XtraBackup进行数据库表备份和表空间传输实例

    一.安装教程 1.XtraBackup简介 XtraBackup有很多功能和优点:例如支持全备.增量备份.部分备份:支持压缩备份:备份不影响数据读写.事务等,但是也有缺陷不足:例如不支持脱机备份.不支 ...

  6. oracle rman表空间传输,rman 实现在线传输表空间(=10g)

    rman操作 RMAN> transport tablespace O_ORACLE 2> tablespace destination 'F:\rmanbackup\td' 3> ...

  7. 转://RMAN跨平台可传输表空间和数据库

    参考链接: http://blog.itpub.net/23135684/viewspace-776048/ http://blog.sina.com.cn/s/blog_69e7b8d7010164 ...

  8. 11g使用增量备份来执行跨平台传输表空间减少停机时间(xtts_rman)

    使用跨平台传输表空间来迁移数据所需要的停机时间与被迁移的数据量成正比.然而,当使用增量备份跨平台迁移可以显著减小迁移数据所需要的停机时间. 传统跨平台传输表空间的主要步骤: 1.将源数据库中所被转输的 ...

  9. Oracle传输表空间

    一.简介 可传输表空间(还有个集)最大的优势是其速度比export/import或unload/load要快的多.因为可传输表空间主要是复制数据文件到目标路径,然后再使用export/import或D ...

最新文章

  1. python使用socket实现协议TCP长连接框架
  2. ython二十五: 解压序列
  3. 实例教程:1小时学会Python
  4. 7、leetcode410 分割数组的最大值
  5. c调用按钮点击事件_Unity3d---对UI事件接口的一些测试和机制(坑)的总结
  6. python数据结构之树
  7. 关于C#异步编程你应该了解的几点建议
  8. 日照职业单招计算机专业,日照职业技术学院单招专业介绍-机电一体化技术
  9. 如何保证elasticsearch和mysql数据库的数据同步?
  10. linq判断集合中相同元素个数_java----Collection集合常用方法
  11. Ubuntu 安装 Kafka
  12. VNPY_IB API封装
  13. 【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)
  14. 机器学习之ROC曲线绘制
  15. Cookies的SameSite属性
  16. F5 GTM DNS 知识点和实验 6 -智能DNS算法
  17. 12306订票候补是个坑_12306候补购票好几天了都没兑现成功是不是凉凉了?
  18. python和pyqt5入门之简易汇率转换器
  19. 微软服务器安装显卡驱动,微软虚拟机显卡及驱动的设置
  20. shiro salt

热门文章

  1. 碎片化阅读对我的影响
  2. 宜春市2021年高考成绩查询,2021年宜春高考状元名单公布,宜春文理科状元是谁多少分...
  3. 输电线路综合在线监测装置
  4. 分享一个超级Nice的美食小程序
  5. Java 压缩和解压缩
  6. 七田式英语学习法的 7 条原则
  7. 一文让你彻底了解市面蓝牙架构,无忧蓝牙产品选型
  8. 京东低代码平台:水滴表单联动可视化配置的实现与思考
  9. Laravel - route 的api.php 与 web.php 的区别
  10. 【训练题】航线设计 | 使用最长上升子序列(LIS)长度的O(nlogn)算法优化