Mysql超百萬數據的導入導出


題記:

因業務需要,需將一些用戶記錄進行匯總並上傳到指定平台。需要先將指定時間的所有用戶記錄進行匯總。涉及到了大數據量的數據導入導出。

使用 iINTO OUTFILE 和 LOAD DATA LOCAL INFILE 實現了改功能,記錄一下

步驟:

  • 1 將源數據導出(select * from test_table ORDER BY createtime into outfile 'E:\temp\test.txt';)
  • 2 將源數據篩選后導入(LOAD DATA LOCAL INFILE 'E:\temp\test.txt' INTO TABLE test_table_sort (@c1,c2,c3,...,c14,c15);)

注意:

  • 1 需要先開啟文本導出權限
    • 1 show global variables like '%secure%'; //查詢設置
    • 2 將 secure_file_priv 值賦值為 ""
  • 2 導入數據報錯 (The used command is not allowed with this MySQL version)原因除了是mysql版本過低外,最有可能是因為設置禁止遠程導入文件,所以navicat執行導入報錯。可以在本機上cmd連接mysql后再執行。解決!
  • 3 導入時可用 @變量名 指定某列值不導入;


免責聲明!

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



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