文章结构如下:
从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_fil