這篇文章給大家介紹如何理解MySQLdump備份數(shù)據(jù)庫,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)茄子河,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
mysqldump 用于導(dǎo)出mysql數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)。
Usage: mysqldump [OPTIONS] database [tables] #導(dǎo)表
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] #導(dǎo)庫
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
默認選項按照給定順序從以下文件讀取:
/etc/my.cnf /etc/mysql/my.cnf /u01/app/mysql/my.cnf ~/.my.cnf
The following groups are read: mysqldump client
The following options may be given as the first argument:
--print-defaults 打印程序參數(shù)列表并退出。
--no-defaults 不要從任何選項文件讀取默認選項。
--defaults-file=# 只讀從給定文件的默認選項 #.
--defaults-extra-file=# 讀取全局文件后讀取此文件.
-A, --all-databases 導(dǎo)出所有數(shù)據(jù)庫.這和 --databases 選擇所有數(shù)據(jù)庫相同
-Y, --all-tablespaces 導(dǎo)出所有表空間
-y, --no-tablespaces 不轉(zhuǎn)儲任何表空間信息.
--add-drop-database 在每次創(chuàng)建之前添加一個DROP DATABASE.
--add-drop-table 在每次創(chuàng)建之前添加DROP TABLE.(默認開啟,使用--skip-add-drop-table將其禁用)
--add-locks 在INSERT語句周圍添加鎖定.(默認開啟,使用--skip-add-locks 將其禁用)
--allow-keywords 允許創(chuàng)建作為關(guān)鍵字的列名稱.
--apply-slave-statements 在“CHANGE MASTER”和“START SLAVE”之前添加“STOP SLAVE”到轉(zhuǎn)儲底部。
--character-sets-dir=name 文件名錄的字符集
-i, --comments 注釋信息(默認開啟,使用--skip-comments 將其禁用)
--compatible=name 將轉(zhuǎn)儲更改為與給定模式兼容。 默認情況下,表以適合MySQL的格式轉(zhuǎn)儲。 合法的模式是:ansi,mysql323,mysql40,postgresql,oracle,mssql,db2,maxdb,no_key_options,no_table_options,no_field_options。 可以使用由逗號分隔的幾種模式。 注意:需要MySQL服務(wù)器版本4.1.0或更高版本。 早期服務(wù)器版本將忽略此選項。
--compact 減少輸出(適用于調(diào)試)。 禁用結(jié)構(gòu)注釋和頁眉/頁腳結(jié)構(gòu)。 啟用選項--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset。
-c, --complete-insert 使用完整的insert語句
-C, --compress 在服務(wù)器/客戶端協(xié)議中使用壓縮。
-a, --create-options 包括所有MySQL特定的創(chuàng)建選項(默認為on;使用--skip-create-options禁用)。
-B, --databases 轉(zhuǎn)儲幾個數(shù)據(jù)庫。所有名稱參數(shù)都被視為數(shù)據(jù)庫名稱。
-#, --debug[=#] 這是一個非調(diào)試版本。 捕捉這個并退出。
--debug-check 檢查內(nèi)存并在退出時打開文件使用情況。
--debug-info 在退出時打印一些調(diào)試信息。
--default-character-set=name 設(shè)置默認字符集。
--delayed-insert 使用INSERT DELAYED插入行。
--delete-master-logs 在備份后刪除主服務(wù)器上的日志。 這會自動啟用--master-data。
-K, --disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; and
'/*!40000 ALTER TABLE tb_name ENABLE KEYS */; will be put
in the output.
--dump-slave[=#] (默認為on;使用--skip-disable-keys禁用。)這將導(dǎo)致主站的二進制日志位置和文件名附加到轉(zhuǎn)儲數(shù)據(jù)輸出。 將值設(shè)置為1,將在轉(zhuǎn)儲數(shù)據(jù)輸出中作為CHANGE MASTER命令打印; 如果等于2,該命令將以注釋符號作為前綴。 該選項將打開--lock-all-tables,除非指定了--single-transaction(在這種情況下,全局讀鎖定只在轉(zhuǎn)儲開始時進行一小段時間 - 不要忘記閱讀 --single-transaction下面)。 在所有情況下,對日志的任何操作將發(fā)生在dump的確切時刻.Option會自動關(guān)閉 - 鎖定表。
-E, --events 轉(zhuǎn)儲事件。
-e, --extended-insert 使用包含多個VALUES列表的多行INSERT語法(默認為on;使用--skip-extended-insert禁用)。
--fields-terminated-by=name 終止符
--fields-enclosed-by=name 分隔符
--fields-optionally-enclosed-by=name 字段可選分隔符
--fields-escaped-by=name 轉(zhuǎn)義字符
-F, --flush-logs 在開始轉(zhuǎn)儲之前,刷新服務(wù)器中的日志文件。 請注意,如果一次轉(zhuǎn)儲許多數(shù)據(jù)庫(使用選項--databases =或--all-databases),則將為每個轉(zhuǎn)儲的數(shù)據(jù)庫刷新日志。 例外情況:使用--lock-all-tables或--master-data:在這種情況下,日志將只刷新一次,對應(yīng)于所有表被鎖定的時刻。 所以如果你想要你的轉(zhuǎn)儲和日志刷新發(fā)生在同一個確切的時刻,你應(yīng)該使用--lock-all-tables或--master-data和--flush-logs。
--flush-privileges 在轉(zhuǎn)儲mysql數(shù)據(jù)庫后發(fā)出FLUSH PRIVILEGES語句。 該選項應(yīng)該在任何時候使用轉(zhuǎn)儲包含mysql數(shù)據(jù)庫和任何其他數(shù)據(jù)庫依賴mysql數(shù)據(jù)庫中的數(shù)據(jù)進行正確還原。
-f, --force 即使錯誤也繼續(xù)執(zhí)行
-?, --help 查看幫助信息
--hex-blob 以十六進制轉(zhuǎn)儲二進制文件
-h, --host=name 連接主機
--ignore-table=name 不備份指定的表。要指定要忽略的多個表,請多次使用指令,每個表使用一次。每個表必須同時指定數(shù)據(jù)庫和表名,例如, - ignore-table = database.table。
--include-master-host-port 在使用--dump-slave生成的轉(zhuǎn)儲中添加'MASTER_HOST = <host>,MASTER_PORT = <port>'到'CHANGE MASTER TO ..'。
--insert-ignore 使用INSERT IGNORE插入行。
--lines-terminated-by=name 行終止符
-x, --lock-all-tables 備份期間鎖定所有表,通過添加全局鎖來實現(xiàn)。會自動關(guān)閉--single-transaction 和--lock-tables off.
-l, --lock-tables 鎖定所有表(默認開啟,使用--skip-lock-tables禁用)
--log-error=name 錯誤日志文件
--master-data[=#] 這將導(dǎo)致二進制日志位置和文件名附加到輸出。 如果等于1,將其作為CHANGE MASTER命令打印; 如果等于2,該命令將以注釋符號作為前綴。 此選項將打開--lock-all-tables,除非指定了--single-transaction(在這種情況下,全局讀鎖定只在轉(zhuǎn)儲開始時進行很短的時間;不要忘記閱讀 --single-transaction)。 在所有情況下,對日志的任何操作都將發(fā)生在轉(zhuǎn)儲的確切時刻。 選項自動關(guān)閉 --lock-tables。
--max-allowed-packet=# 發(fā)送到服務(wù)器或從服務(wù)器接收的最大包長度。
--net-buffer-length=# 用于TCP / IP和套接字通信的緩沖區(qū)大小。
--no-autocommit 使用autocommit / commit語句來封裝表。
-n, --no-create-db 不使用CREATE DATABASE ... IF EXISTS語句,如果給出--all-databases或--databases,則通常為每個轉(zhuǎn)儲的數(shù)據(jù)庫輸出。
-t, --no-create-info 不寫表的信息
-d, --no-data 不導(dǎo)出數(shù)據(jù)
-N, --no-set-names 不設(shè)置字符集 ,與--skip-set-charset一樣
--opt 與--add-drop-table, --add-locks, --create-options,--quick, --extended-insert, --lock-tables, --set-charset,and --disable-keys. Enabled by default, disable with--skip-opt一樣.
--order-by-primary 如果存在主鍵或者唯一鍵,則按此類鍵進行排序。在轉(zhuǎn)儲從MyISAM到InnoDB表會很有用,但會使轉(zhuǎn)儲本身需要更長的時間。
-p, --password[=name] 密碼
-P, --port=# 連接端口
--protocol=name 連接協(xié)議 (tcp, socket, pipe,
memory).
-q, --quick 不要緩沖查詢,直接轉(zhuǎn)儲到stdout(默認為on;使用--skip-quick禁用)。
-Q, --quote-names 引號表和帶有反引號(`)的列名(默認為on;使用--skip-quote-names禁用)。
--replace 使用REPLACE INTO而不是INSERT INTO。
-r, --result-file=name 直接輸出到給定文件。 此選項應(yīng)在使用回車換行對(\ r \ n)分隔文本行的系統(tǒng)(例如,DOS,Windows)中使用。 此選項確保只使用單個換行符。
-R, --routines 轉(zhuǎn)儲存儲例程(函數(shù)和過程)。
--set-charset 將“SET NAMES default_character_set”添加到輸出。 (默認為on;使用--skip-set-charset禁用)。
--single-transaction 通過在單個事務(wù)中轉(zhuǎn)儲所有表來創(chuàng)建一致的快照。 僅適用于存儲在支持多版本的存儲引擎中的表(當前只有InnoDB); 轉(zhuǎn)儲不保證對于其他存儲引擎是一致的。 當單事務(wù)轉(zhuǎn)儲正在進行時,為了確保有效的轉(zhuǎn)儲文件(正確的表內(nèi)容和二進制日志位置),沒有其他連接應(yīng)該使用以下語句:ALTER TABLE,DROP TABLE,RENAME TABLE,TRUNCATE TABLE,as 一致的快照不與它們隔離。 選項自動關(guān)閉 --lock-tables.
--dump-date 將轉(zhuǎn)儲日期放在輸出結(jié)尾。(默認開啟; 使用 --skip-dump-date禁用.)
--skip-opt 禁用 --opt. Disables --add-drop-table, --add-locks,
--create-options, --quick, --extended-insert,
--lock-tables, --set-charset, and --disable-keys.
-S, --socket=name 連接用的socket
-T, --tab=name 為每個給定路徑的表創(chuàng)建制表符分隔的文本文件。 (創(chuàng)建.sql和.txt文件。)注意:這僅在mysqldump在與mysql服務(wù)器相同的機器上運行時才有效。
--tables 覆蓋選項--databases(-B)。
--triggers 轉(zhuǎn)儲每個轉(zhuǎn)儲表的觸發(fā)器.(默認為on;使用--skip-triggers禁用)。
--tz-utc SET TIME_ZONE =轉(zhuǎn)儲頂部的'+ 00:00',以便當服務(wù)器在不同時區(qū)中的數(shù)據(jù)在不同時區(qū)的服務(wù)器之間移動時允許轉(zhuǎn)儲TIMESTAMP數(shù)據(jù)(默認為on; use --skip- tz-utc禁用。)
-u, --user=name 用戶名.
-v, --verbose 打印各個階段的信息.
-V, --version 輸出版本信息并退出。
-w, --where=name 導(dǎo)出查詢條件中的數(shù)據(jù)
-X, --xml 使用XML格式
--plugin-dir=name 客戶端插件目錄
--default-auth=name 使用的默認認證客戶端插件。
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
all-databases FALSE
all-tablespaces FALSE
no-tablespaces FALSE
add-drop-database FALSE
add-drop-table TRUE
add-locks TRUE
allow-keywords FALSE
apply-slave-statements FALSE
character-sets-dir (No default value)
comments TRUE
compatible (No default value)
compact FALSE
complete-insert FALSE
compress FALSE
create-options TRUE
databases FALSE
debug-check FALSE
debug-info FALSE
default-character-set utf8
delayed-insert FALSE
delete-master-logs FALSE
disable-keys TRUE
dump-slave 0
events FALSE
extended-insert TRUE
fields-terminated-by (No default value)
fields-enclosed-by (No default value)
fields-optionally-enclosed-by (No default value)
fields-escaped-by (No default value)
flush-logs FALSE
flush-privileges FALSE
force FALSE
hex-blob FALSE
host (No default value)
include-master-host-port FALSE
insert-ignore FALSE
lines-terminated-by (No default value)
lock-all-tables FALSE
lock-tables TRUE
log-error (No default value)
master-data 0
max-allowed-packet 25165824
net-buffer-length 1046528
no-autocommit FALSE
no-create-db FALSE
no-create-info FALSE
no-data FALSE
order-by-primary FALSE
port 0
quick TRUE
quote-names TRUE
replace FALSE
routines FALSE
set-charset TRUE
single-transaction FALSE
dump-date TRUE
socket (No default value)
tab (No default value)
triggers TRUE
tz-utc TRUE
user (No default value)
verbose FALSE
where (No default value)
plugin-dir (No default value)
default-auth (No default value)
-----------------------------------------------------------------------------------------------------
1、導(dǎo)單表
mysqldump -uroot -p mysql user;
2、導(dǎo)單庫
mysqldump -uroot -phwj3509 --databases hwj >test.sql
3、導(dǎo)多表
mysqldump -uroot -p mysql user proc>test.sql
4、導(dǎo)多庫
mysqldump -uroot -p --databases hwj 51vj>test.sql
5、增量備份
mysqldump下實現(xiàn)增量備份,其實是靠mysqldump全備和binlog日志實現(xiàn),通過在mysqldump命令中添加--flush-logs來生成新的日志?;謴?fù)時使用mysqlbinlog進行恢復(fù)。
mysqldump -uroot -phwj3509 --single-transaction --flush-logs --master-data=2 --all_databases> backup.sql;
關(guān)于如何理解mysqldump備份數(shù)據(jù)庫就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享題目:如何理解mysqldump備份數(shù)據(jù)庫
網(wǎng)站路徑:http://jinyejixie.com/article18/ppicdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、定制開發(fā)、靜態(tài)網(wǎng)站、服務(wù)器托管、搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)