Mysql超百萬資料的匯入匯出
阿新 • • 發佈:2020-07-25
題記:
因業務需要,需將一些使用者記錄進行彙總並上傳到指定平臺。需要先將指定時間的所有使用者記錄進行彙總。涉及到了大資料量的資料匯入匯出。
使用 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 匯入時可用 @變數名 指定某列值不匯入;