在《高性能Mysql》第二版中看到,SQL文件和界定符文件在備份、還原時的耗費時間對比。
方式 文件大小 導出時間 還原時間
SQL dump 727M 102s 600s
Delimited dump 669M 86s 301s
看起來界定符文件的導出比sql文件快了近20%,還原速度快了一倍。
記錄和總結一下語法:
備份:SELECT INTO OUTFILE
SELECT * FROM hx_9enjoy INTO OUTFILE /tmp/9enjoy.txt
默認使用tab分割字段,記錄使用
分割。可以自定義三個參數。
SELECT * FROM hx_9enjoy INTO OUTFILE /tmp/9enjoy_hx.txt FIELDS TERMINATED BY , OPTIONALLY ENCLOSED BY " LINES TERMINATED BY
;
即使用,分割字段,雙引號限定字段內容,
分割記錄。
還可以指定某些條件的記錄輸出:
SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE /tmp/9enjoy_100.txt
還原:LOAD DATA INFILE
默認情況:
LOAD DATA INFILE /tmp/9enjoy.txt INTO TABLE hx_9enjoy
如果有指定界定符,則加上界定符的說明:
LOAD DATA INFILE /tmp/9enjoy.txt INTO TABLE hx_9enjoy FIELDS TERMINATED BY , OPTIONALLY ENCLOSED BY " LINES TERMINATED BY
注意事項
1.mysql必須要有權限訪問生成文件的那個目錄
2.由於安全方面的原因,不能覆蓋已存在的文件,不管這個文件的權限是怎麼分配的。
3.不能直接導出一個壓縮文件。