1. 程式人生 > >MySQL中mysqldump導出數據的使用

MySQL中mysqldump導出數據的使用

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導出數據的使用