Mysql 五千萬級數據快速遷移保姆級教程


       

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行業交流


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM