MySQL中mysqldump導出數據的使用
阿新 • • 發佈:2017-06-15
arp 導出 多個 數據表 sql 去掉註釋 一次 過程 存儲
mysqldump常用參數說明:
幫助使用:mysqldump --help
-A, --all-databases 導出全部數據庫 mysqldump -uroot -p –A > /tmp/filename.sql -Y, --all-tablespaces 導出全部表空間 -y, --no-tablespaces 不導出任何表空間信息. --add-drop-database 每個數據庫創建之前添加drop數據庫語句。 --add-drop-table 每個數據表創建之前添加drop數據表語句,默認為打開狀態,使用–skip-add-drop-table取消選項。 --add-locks 在每個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE.默認為打開狀態,使用–skip-add-locks取消選項. -i, --comments 附加註釋信息,默認為打開,可以用–skip-comments取消. --compact 導出更少的輸出信息(用於調試)。去掉註釋和頭尾等結構. -C, --compress 在客戶端和服務器之間啟用壓縮傳遞所有信息 -B, --databases 導出多個數據庫,參數後面所有名字參量都被看作數據庫名.例如:mysqldump -uroot -p -B test mysql --default-character-set 設置默認字符集,默認值為utf8。例如:mysqldump -uroot -p –A –default-character-set=latin1 -E, --events 導出事件. -F, --flush-logs 開始導出之前刷新日誌請註意:假如一次導出多個數據庫(使用選項–databases或者–all-databases),將會逐個數據庫刷新日誌。除使用–lock-all-tables或者–master-data
外。在這種情況下,日誌將會被刷新一次,相應的所以表同時被鎖定。因此,如果打算同時導出和刷新日誌應該使用–lock-all-tables 或者–master-data 和–flush-logs。
mysqldump -uroot -p –all-databases –flush-logs -f, --force 在導出過程中忽略出現的SQL錯誤. --ignore-table=name 不導出指定表。指定忽略多個表時,需要重復多次,每次一個表。每個表必須同時指定數據庫和表名。 -d, --no-data 不導出任何數據,只導出數據庫表結構。 -p, --password[=name] 連接數據庫密碼 -P, --port=# 連接數據庫端口號 -u, --user=name 指定連接的用戶名。 --debug-info 輸出調試信息並退出 -R, --routines 導出存儲過程和函數 --triggers 導出觸發器
mysqldump常用於數據庫的備份與還原,在備份的過程中我們可以根據自己的實際情況添加以上任何參數
1.導出整個數據庫(包括數據庫中的數據和創建表的語句)
mysqldump -u username -p dbname > filename.sql
2.導出數據庫結構(不含數據,只包含創建表的語句)
mysqldump -u username -p -d dbname > filename.sql
3.導出數據庫中的某張數據表(包含表數據和創建表語句)
mysqldump -u username -p dbname tablename > filename.sql
4.導出數據庫中的某張數據表的表結構(不含數據)
mysqldump -u username -p -d dbname tablename > filename.sql
MySQL中mysqldump導出數據的使用