MySQL大数据迁移方案探索

数据库结构导出忽略。

以下操作在Windows上,数据库均为MySQL8.0.30、innodb表。

1. 数据导出再导入

对外可提供读服务(允许重启),使用 select outfile + LOAD DATA

a. 导出

## my.ini配置:
# [mysqld]
# secure-file-priv=""
FLUSH TABLES page FOR EXPORT;
select * from page into outfile 'E:/page.text';
UNLOCK TABLES;

b. 导入

## my.ini配置:
# [mysqld]
# local_infile = 1
LOAD DATA LOCAL INFILE 'E:/page.text' INTO TABLE page;

优点:操作过程保留数据库完整数据备份,速度较快。配置更改,需要重启数据库。

c. 尝试其它在线操作

dev.mysql.com flush操作
在flush后复制 .idb和 .cfg ,在目标服务在线时由于占用权限问题无法复制,停机复制可以正常启动、但表无法访问,truncate时报错Tablespace is missing for table,放弃。

2. 数据库文件夹停机拷贝

停止MySQL服务,将整个MySQL包括安装目录进行停机拷贝。不停机复制会出现莫名其妙的问题。

你可能感兴趣的:(mysql后端微服务)