《Mysql應用淺談mysqldump使用方法(MySQL數據庫的備份與恢復)》要點:
本文介紹了Mysql應用淺談mysqldump使用方法(MySQL數據庫的備份與恢復),希望對您有用。如果有疑問,可以聯系我們。
#mysqldump --helpMYSQL入門
1.mysqldump的幾種常用方法:MYSQL入門
(1)導出整個數據庫(包括數據庫中的數據)MYSQL入門
mysqldump -u username -p dbname > dbname.sql???MYSQL入門
(2)導出數據庫結構(不含數據)MYSQL入門
mysqldump -u username -p -d dbname > dbname.sql???MYSQL入門
(3)導出數據庫中的某張數據表(包含數據)MYSQL入門
mysqldump -u username -p dbname tablename > tablename.sql???MYSQL入門
(4)導出數據庫中的某張數據表的表結構(不含數據)MYSQL入門
mysqldump -u username -p -d dbname tablename > tablename.sql??MYSQL入門
2.mysqldump常用參數說明:MYSQL入門
--all-databases , -A??? 導出全部數據庫.?? mysqldump -uroot -p --all-databases > all_databases_backup.sqlMYSQL入門
--all-tablespaces , -Y?? 導出全部表空間.mysqldump -uroot -p Call-databases Call-tablespacesMYSQL入門
--no-tablespaces , -y? 不導出任何表空間信息.mysqldump -uroot -p Call-databases Cno-tablespacesMYSQL入門
--add-drop-database?? 每個數據庫創建之前添加drop數據庫語句.mysqldump -uroot -p Call-databases Cadd-drop-databaseMYSQL入門
Cadd-drop-table?? 每個數據表創建之前添加drop數據表語句.(默認為打開狀態,使用Cskip-add-drop-table取消選項)mysqldump -uroot -p Call-databases (默認添加drop語句)mysqldump -uroot -p Call-databases Cskip-add-drop-table (取消drop語句)MYSQL入門
Cadd-locks?? 在每個表導出之前增加LOCK TABLES并且之后UNLOCK TABLE.(默認為打開狀態,使用Cskip-add-locks取消選項)mysqldump -uroot -p Call-databases (默認添加LOCK語句)mysqldump -uroot -p Call-databases Cskip-add-locks (取消LOCK語句)MYSQL入門
Ccomments?? 附加注釋信息.默認為打開,可以用Cskip-comments取消mysqldump -uroot -p Call-databases (默認記錄注釋)mysqldump -uroot -p Call-databases Cskip-comments (取消注釋)MYSQL入門
Ccompact?? 導出更少的輸出信息(用于調試).去掉注釋和頭尾等結構.可以使用選項:Cskip-add-drop-table Cskip-add-locks Cskip-comments Cskip-disable-keysmysqldump -uroot -p Call-databases CcompactMYSQL入門
Ccomplete-insert, -c?? 使用完整的insert語句(包含列名稱).這么做能提高插入效率,但是可能會受到max_allowed_packet參數的影響而導致插入失敗.mysqldump -uroot -p Call-databases Ccomplete-insertMYSQL入門
Ccompress, -C?? 在客戶端和服務器之間啟用壓縮傳遞所有信息mysqldump -uroot -p Call-databases CcompressMYSQL入門
Cdatabases, -B?? 導出幾個數據庫.參數后面所有名字參量都被看作數據庫名.mysqldump -uroot -p Cdatabases test mysqlMYSQL入門
Cdebug?? 輸出debug信息,用于調試.默認值為:d:t:o,/tmp/mysqldump.tracemysqldump -uroot -p Call-databases Cdebugmysqldump -uroot -p Call-databases Cdebug=” d:t:o,/tmp/debug.trace”MYSQL入門
Cdebug-info?? 輸出調試信息并退出mysqldump -uroot -p Call-databases Cdebug-infoMYSQL入門
Cdefault-character-set?? 設置默認字符集,默認值為utf8mysqldump -uroot -p Call-databases Cdefault-character-set=latin1MYSQL入門
Cdelayed-insert?? 采用延時插入方式(INSERT DELAYED)導出數據mysqldump -uroot -p Call-databases Cdelayed-insertMYSQL入門
Cevents, -E? 導出事件.mysqldump -uroot -p Call-databases CeventsMYSQL入門
Cflush-logs?? 開始導出之前刷新日志.請注意:假如一次導出多個數據庫(使用選項Cdatabases或者Call-databases),將會逐個數據庫刷新日志.除使用Clock-all-tables或者Cmaster-data外.在這種情況下,日志將會被刷新一次,相應的所以表同時被鎖定.因此,如果打算同時導出和刷新日志應該使用Clock-all-tables 或者Cmaster-data 和Cflush-logs.mysqldump -uroot -p Call-databases Cflush-logsMYSQL入門
Cflush-privileges?? 在導出mysql數據庫之后,發出一條FLUSH PRIVILEGES 語句.為了正確恢復,該選項應該用于導出mysql數據庫和依賴mysql數據庫數據的任何時候.mysqldump -uroot -p Call-databases Cflush-privilegesMYSQL入門
Cforce?? 在導出過程中忽略出現的SQL錯誤.mysqldump -uroot -p Call-databases CforceMYSQL入門
Chost, -h?? 需要導出的主機信息mysqldump -uroot -p Chost=localhost Call-databasesMYSQL入門
Cignore-table?? 不導出指定表.指定忽略多個表時,需要重復多次,每次一個表.每個表必須同時指定數據庫和表名.例如:Cignore-table=database.table1 Cignore-table=database.table2 ……mysqldump -uroot -p Chost=localhost Call-databases Cignore-table=mysql.userMYSQL入門
Clock-all-tables, -x?? 提交請求鎖定所有數據庫中的所有表,以保證數據的一致性.這是一個全局讀鎖,并且自動關閉Csingle-transaction 和Clock-tables 選項.mysqldump -uroot -p Chost=localhost Call-databases Clock-all-tablesMYSQL入門
Clock-tables, -l?? 開始導出前,鎖定所有表.用READ LOCAL鎖定表以允許MyISAM表并行插入.對于支持事務的表例如InnoDB和BDB,Csingle-transaction是一個更好的選擇,因為它根本不需要鎖定表.請注意當導出多個數據庫時,Clock-tables分別為每個數據庫鎖定表.因此,該選項不能保證導出文件中的表在數據庫之間的邏輯一致性.不同數據庫表的導出狀態可以完全不同.mysqldump -uroot -p Chost=localhost Call-databases Clock-tablesMYSQL入門
Cno-create-db, -n?? 只導出數據,而不添加CREATE DATABASE 語句.mysqldump -uroot -p Chost=localhost Call-databases Cno-create-dbMYSQL入門
Cno-create-info, -t?? 只導出數據,而不添加CREATE TABLE 語句.mysqldump -uroot -p Chost=localhost Call-databases Cno-create-infoMYSQL入門
Cno-data, -d?? 不導出任何數據,只導出數據庫表結構.mysqldump -uroot -p Chost=localhost Call-databases Cno-dataMYSQL入門
Cpassword, -p?? 連接數據庫密碼MYSQL入門
Cport, -P?? 連接數據庫端口號MYSQL入門
Cuser, -u?? 指定連接的用戶名.MYSQL入門
3.mysqldump常用實例:MYSQL入門
(1) mysqldump常用于數據庫的備份與還原,在備份的過程中我們可以根據自己的實際情況添加以上任何參數,假設有數據庫test_db,執行以下命令,即可完成對整個數據庫的備份:MYSQL入門
??? mysqldump -u root -p test_db > test_db.sql???MYSQL入門
(2)如要對數據進行還原,可執行如下命令:MYSQL入門
??? mysql -u username -p test_db < test_db.sql???MYSQL入門
(3)還原數據庫操作還可以使用以下方法:MYSQL入門
??? mysql> sourcetest_db.sql? MYSQL入門
以上這篇淺談mysqldump使用方法(MySQL數據庫的備份與恢復)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持維易PHP.MYSQL入門