1.源数据库5.7 目标数据库 8
Mysql8服务器安装之前 需要安装.net 并且关闭用户账户控制
试验涉及到的文件
Everything.exe
mysql-installer-community-8.0.24.0.msi
Notepad2.exe
NDP461-KB3102436-x86-x64-AllOS-ENU.exe
NDP461-KB3102436-x86-x64-AllOS-ENU静默安装.bat
2.Navicat同步表结构
3.目标库 配置
Root登陆命令行
SHOW VARIABLES LIKE "secure_file_priv";
必须使用 Notepad2.exe 修改配置文件
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
查找 secure-file-priv
#secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
secure-file-priv=
重启目标服务器 mysql服务
4.原系统导出数据到文件
用root登陆
执行查询 导出到excel
select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length / 1024 / 1024, 2) as '数据容量(MB)',
truncate(index_length / 1024 / 1024, 2) as '索引容量(MB)'
from
information_schema.tables
where
TABLE_SCHEMA in ('nwms')
order by
data_length desc,
index_length desc
得到所有表信息
生成表导出语句
select * into outfile "c:\\mysqlbak\\z_object_transcation.sql" from z_object_transcation;
原系统执行sql导出数据到文件
导出数据速度为 虚拟机内3g数据 4分钟
5.目标服务器导入 数据
拷贝文件到 目标服务器
5.1生成导入数据 语句
load data infile "d:\\mysqlbak\\z_object_transcation.sql" into table z_object_transcation ;
excel 公式 ="load data infile ""d:\\mysqlbak\\"&B2&".sql"" into table "&B2&" ;"
用root登陆
新建空数据库iwms
Use iwms
执行上面的脚本
导入完成
实际导入速度: 3g数据文件在2g内存1核cpu 虚拟机内导入完成耗费19分钟 还原后的数据文件mt_material_lot.ibd 3.89g
如果用Navicat 数据传输 功能, 这张表需要3个小时以上
相关参考文摘
MySQL查看表占用空间大小 - 月染霜华 - 博客园
https://www.cnblogs.com/shoshana-kong/p/11136919.html
MySQL数据库迁移快速导出导入大量数据_Mysql_脚本之家
https://www.jb51.net/article/157887.htm
MySQL 之 LOAD DATA INFILE 快速导入数据 - LeRoi - 博客园
https://www.cnblogs.com/waynechou/p/7794939.html
按此文操作完全可以试验成功
全文完
点击加入群聊【SAP_MES行业交流】