1. 程式人生 > 實用技巧 >Mysql超百萬資料的匯入匯出

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 匯入時可用 @變數名 指定某列值不匯入;