本教學示範使用指令匯出及匯入 MySQL 數據庫。
匯出數據庫
使用以下指令可以匯出數據庫。當中 localhost
是數據庫的主機名字、 3306
是通訊埠、 UserName
是用戶名、 UserPassword
是密碼、 DatabaseName
是需要匯出的數據庫和 OutputFileName.sql
是匯出的檔案名。
--hex-blob
選項可以將二進制欄位以十六進制字符輸出。 --single-transaction
選項可以確保匯出的數據一致。--routines
選項可以將 procedures 和 functions 一起匯出。
|
|
如果因為二進制欄位太大而不能夠將數據庫匯出,請打開 MySQL 的 my.cnf
並加入以下內容,然後重新啟動 MySQL 。
[mysqld]
max_allowed_packet=1024M
匯入數據庫
使用以下指令可以匯入數據庫。當中 localhost
是數據庫的主機名字、 3306
是通訊埠、 UserName
是用戶名、 UserPassword
是密碼、 DatabaseName
是需要匯入的數據庫和 InputFileName.sql
是匯入的檔案名。
|
|
取消外鍵 (Foreign Key) 檢查
在特別的情況下,匯入數據庫時可能因為外鍵的問題而出現錯誤。如果出現問題,可以在出現問題的 SQL 上下加入以下內容。
-- Do not check referential constraints
SET FOREIGN_KEY_CHECKS = 0;
-- PUT YOUR SQL STATEMENTS HERE
-- Specify to check referential constraints
SET FOREIGN_KEY_CHECKS = 1;
匯入 CSV 檔案
如果想將 CSV 內容匯入數據庫,可以使用以下指令。
LOAD DATA LOCAL INFILE 'import.csv' INTO TABLE TargetTableName
FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'
IGNORE 1 LINES ( uid, name, sex, passport );