淺談mysqldump運用辦法(MySQL數據庫的備份與恢復)。本站提示廣大學習愛好者:(淺談mysqldump運用辦法(MySQL數據庫的備份與恢復))文章只能為提供參考,不一定能成為您想要的結果。以下是淺談mysqldump運用辦法(MySQL數據庫的備份與恢復)正文
#mysqldump --help
1.mysqldump的幾種常用辦法:
(1)導出整個數據庫(包括數據庫中的數據)
mysqldump -u username -p dbname > dbname.sql
(2)導出數據庫構造(不含數據)
mysqldump -u username -p -d dbname > dbname.sql
(3)導出數據庫中的某張數據表(包括數據)
mysqldump -u username -p dbname tablename > tablename.sql
(4)導出數據庫中的某張數據表的表構造(不含數據)
mysqldump -u username -p -d dbname tablename > tablename.sql
2.mysqldump常用參數闡明:
--all-databases , -A 導出全部數據庫. mysqldump -uroot -p --all-databases > all_databases_backup.sql
--all-tablespaces , -Y 導出全部表空間。mysqldump -uroot -p –all-databases –all-tablespaces
--no-tablespaces , -y 不導出任何表空間信息。mysqldump -uroot -p –all-databases –no-tablespaces
--add-drop-database 每個數據庫創立之前添加drop數據庫語句。mysqldump -uroot -p –all-databases –add-drop-database
–add-drop-table 每個數據表創立之前添加drop數據表語句。(默許為翻開形態,運用–skip-add-drop-table取消選項)mysqldump -uroot -p –all-databases (默許添加drop語句)mysqldump -uroot -p –all-databases –skip-add-drop-table (取消drop語句)
–add-locks 在每個表導出之前添加LOCK TABLES並且之後UNLOCK TABLE。(默許為翻開形態,運用–skip-add-locks取消選項)mysqldump -uroot -p –all-databases (默許添加LOCK語句)mysqldump -uroot -p –all-databases –skip-add-locks (取消LOCK語句)
–comments 附加正文信息。默許為翻開,可以用–skip-comments取消mysqldump -uroot -p –all-databases (默許記載正文)mysqldump -uroot -p –all-databases –skip-comments (取消正文)
–compact 導出更少的輸入信息(用於調試)。去掉正文和頭尾等構造。可以運用選項:–skip-add-drop-table –skip-add-locks –skip-comments –skip-disable-keysmysqldump -uroot -p –all-databases –compact
–complete-insert, -c 運用完好的insert語句(包括列稱號)。這麼做能進步拔出效率,但是能夠會遭到max_allowed_packet參數的影響而招致拔出失敗。mysqldump -uroot -p –all-databases –complete-insert
–compress, -C 在客戶端和服務器之間啟用緊縮傳遞一切信息mysqldump -uroot -p –all-databases –compress
–databases, -B 導出幾個數據庫。參數前面一切名字參量都被看作數據庫名。mysqldump -uroot -p –databases test mysql
–debug 輸入debug信息,用於調試。默許值為:d:t:o,/tmp/mysqldump.tracemysqldump -uroot -p –all-databases –debugmysqldump -uroot -p –all-databases –debug=” d:t:o,/tmp/debug.trace”
–debug-info 輸入調試信息並加入mysqldump -uroot -p –all-databases –debug-info
–default-character-set 設置默許字符集,默許值為utf8mysqldump -uroot -p –all-databases –default-character-set=latin1
–delayed-insert 采用延時拔出方式(INSERT DELAYED)導出數據mysqldump -uroot -p –all-databases –delayed-insert
–events, -E 導出事情。mysqldump -uroot -p –all-databases –events
–flush-logs 開端導出之前刷新日志。請留意:假設一次導出多個數據庫(運用選項–databases或許–all-databases),將會逐一數據庫刷新日志。除運用–lock-all-tables或許–master-data外。在這種狀況下,日志將會被刷新一次,相應的所以表同時被鎖定。因而,假如計劃同時導出和刷新日志應該運用–lock-all-tables 或許–master-data 和–flush-logs。mysqldump -uroot -p –all-databases –flush-logs
–flush-privileges 在導出mysql數據庫之後,收回一條FLUSH PRIVILEGES 語句。為了正確恢復,該選項應該用於導出mysql數據庫和依賴mysql數據庫數據的任何時分。mysqldump -uroot -p –all-databases –flush-privileges
–force 在導出進程中疏忽呈現的SQL錯誤。mysqldump -uroot -p –all-databases –force
–host, -h 需求導出的主機信息mysqldump -uroot -p –host=localhost –all-databases
–ignore-table 不導出指定表。指定疏忽多個表時,需求反復屢次,每次一個表。每個表必需同時指定數據庫和表名。例如:–ignore-table=database.table1 –ignore-table=database.table2 ……mysqldump -uroot -p –host=localhost –all-databases –ignore-table=mysql.user
–lock-all-tables, -x 提交懇求鎖定一切數據庫中的一切表,以保證數據的分歧性。這是一個全局讀鎖,並且自動封閉–single-transaction 和–lock-tables 選項。mysqldump -uroot -p –host=localhost –all-databases –lock-all-tables
–lock-tables, -l 開端導出前,鎖定一切表。用READ LOCAL鎖定表以允許MyISAM表並行拔出。關於支持事務的表例如InnoDB和BDB,–single-transaction是一個更好的選擇,由於它基本不需求鎖定表。請留意當導出多個數據庫時,–lock-tables辨別為每個數據庫鎖定表。因而,該選項不能保證導出文件中的表在數據庫之間的邏輯分歧性。不同數據庫表的導出形態可以完全不同。mysqldump -uroot -p –host=localhost –all-databases –lock-tables
–no-create-db, -n 只導出數據,而不添加CREATE DATABASE 語句。mysqldump -uroot -p –host=localhost –all-databases –no-create-db
–no-create-info, -t 只導出數據,而不添加CREATE TABLE 語句。mysqldump -uroot -p –host=localhost –all-databases –no-create-info
–no-data, -d 不導出任何數據,只導出數據庫表構造。mysqldump -uroot -p –host=localhost –all-databases –no-data
–password, -p 銜接數據庫密碼
–port, -P 銜接數據庫端口號
–user, -u 指定銜接的用戶名。
3.mysqldump常用實例:
(1) mysqldump常用於數據庫的備份與復原,在備份的進程中我們可以依據自己的實踐狀況添加以上任何參數,假定無數據庫test_db,執行以下命令,即可完成對整個數據庫的備份:
mysqldump -u root -p test_db > test_db.sql
(2)如要對數據停止復原,可執行如下命令:
mysql -u username -p test_db < test_db.sql
(3)復原數據庫操作還可以運用以下辦法:
mysql> sourcetest_db.sql
以上這篇淺談mysqldump運用辦法(MySQL數據庫的備份與恢復)就是分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。