-h, --host=name
主機(jī)名
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及成都報(bào)廢汽車回收等,在網(wǎng)站建設(shè)公司、成都全網(wǎng)營銷、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。
-P[ port_num], --port=port_num
用于連接MySQL服務(wù)器的的TCP/IP端口號(hào)
--master-data
這個(gè)選項(xiàng)可以把binlog的位置和文件名添加到輸出中,如果等于1,將會(huì)打印成一個(gè)CHANGE MASTER
命令;如果等于2,會(huì)加上注釋前綴。并且這個(gè)選項(xiàng)會(huì)自動(dòng)打開--lock-all-tables
,除非同時(shí)設(shè)置了--single-transaction
(這種情況下,全局讀鎖只會(huì)在開始dump的時(shí)候加上一小段時(shí)間,不要忘了閱讀--single-transaction
的部分)。在任何情況下,所有日志中的操作都會(huì)發(fā)生在導(dǎo)出的準(zhǔn)確時(shí)刻。這個(gè)選項(xiàng)會(huì)自動(dòng)關(guān)閉--lock-tables
。
-x, --lock-all-tables
鎖定所有庫中所有的表。這是通過在整個(gè)dump的過程中持有全局讀鎖來實(shí)現(xiàn)的。會(huì)自動(dòng)關(guān)閉--single-transaction
和--lock-tables
。
--single-transaction
通過將導(dǎo)出操作封裝在一個(gè)事務(wù)內(nèi)來使得導(dǎo)出的數(shù)據(jù)是一個(gè)一致性快照。只有當(dāng)表使用支持MVCC的存儲(chǔ)引擎(目前只有InnoDB)時(shí)才可以工作;其他引擎不能保證導(dǎo)出是一致的。當(dāng)導(dǎo)出開啟了--single-transaction
選項(xiàng)時(shí),要確保導(dǎo)出文件有效(正確的表數(shù)據(jù)和二進(jìn)制日志位置),就要保證沒有其他連接會(huì)執(zhí)行如下語句:ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
,這會(huì)導(dǎo)致一致性快照失效。這個(gè)選項(xiàng)開啟后會(huì)自動(dòng)關(guān)閉--lock-tables
。
-l, --lock-tables
對(duì)所有表加讀鎖。(默認(rèn)是打開的,用--skip-lock-tables
來關(guān)閉,上面的選項(xiàng)會(huì)把關(guān)閉-l
選項(xiàng))
-F, --flush-logs
在開始導(dǎo)出前刷新服務(wù)器的日志文件。注意,如果你一次性導(dǎo)出很多數(shù)據(jù)庫(使用 -databases=
或--all-databases
選項(xiàng)),導(dǎo)出每個(gè)庫時(shí)都會(huì)觸發(fā)日志刷新。例外是當(dāng)使用了--lock-all-tables
或--master-data
時(shí):日志只會(huì)被刷新一次,那個(gè)時(shí)候所有表都會(huì)被鎖住。所以如果你希望你的導(dǎo)出和日志刷新發(fā)生在同一個(gè)確定的時(shí)刻,你需要使用--lock-all-tables
,或者--master-data
配合--flush-logs
。
--delete-master-logs
備份完成后刪除主庫上的日志。這個(gè)選項(xiàng)會(huì)自動(dòng)打開``--master-data`。
--opt
同-add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys
。(默認(rèn)已開啟,--skip-opt
關(guān)閉表示這些選項(xiàng)保持它的默認(rèn)值)應(yīng)該給你為讀入一個(gè)MySQL服務(wù)器的盡可能最快的導(dǎo)出,--compact
差不多是禁用上面的選項(xiàng)。
-q, --quick
不緩沖查詢,直接導(dǎo)出至stdout。(默認(rèn)打開,用--skip-quick
來關(guān)閉)該選項(xiàng)用于轉(zhuǎn)儲(chǔ)大的表。
--set-charset
將SET NAMES default_character_set
加到輸出中。該選項(xiàng)默認(rèn)啟用。要想禁用SET NAMES
語句,使用--skip-set-charset
。
--add-drop-tables
在每個(gè)CREATE TABLE
語句前添加DROP TABLE
語句。默認(rèn)開啟。
--add-locks
在每個(gè)表導(dǎo)出之前增加LOCK TABLES
并且之后UNLOCK TABLE
。(為了使得更快地插入到MySQL)。默認(rèn)開啟。
--create-option
在CREATE TABLE語句中包括所有MySQL表選項(xiàng)。默認(rèn)開啟,使用--skip-create-options
來關(guān)閉。
-e, --extended-insert
使用全新多行INSERT語法,默認(rèn)開啟(給出更緊縮并且更快的插入語句)
-d, --no-data
不寫入表的任何行信息。如果你只想得到一個(gè)表的結(jié)構(gòu)的導(dǎo)出,這是很有用的。
--add-drop-database
在create數(shù)據(jù)庫之前先DROP DATABASE
,默認(rèn)關(guān)閉,所以一般在導(dǎo)入時(shí)需要保證數(shù)據(jù)庫已存在。
--default-character-set=
使用的默認(rèn)字符集。如果沒有指定,mysqldump使用utf8。
-B, --databases
轉(zhuǎn)儲(chǔ)幾個(gè)數(shù)據(jù)庫。通常情況,mysqldump將命令行中的第1個(gè)名字參量看作數(shù)據(jù)庫名,后面的名看作表名。使用該選項(xiàng),它將所有名字參量看作數(shù)據(jù)庫名。CREATE DATABASE IF NOT EXISTS db_name
和USE db_name
語句包含在每個(gè)新數(shù)據(jù)庫前的輸出中。
--tables
覆蓋--database
選項(xiàng)。選項(xiàng)后面的所有參量被看作表名。
-u[ name], --user=
連接服務(wù)器時(shí)使用的MySQL用戶名。
-p[password], --password[=password]
連接服務(wù)器時(shí)使用的密碼。如果你使用短選項(xiàng)形式(-p),不能在選項(xiàng)和密碼之間有一個(gè)空格。如果在命令行中,忽略了--password
或-p
選項(xiàng)后面的 密碼值,將提示你輸入一個(gè)。
導(dǎo)出一個(gè)數(shù)據(jù)庫:
$ mysqldump -h localhost -uroot -ppassword \--master-data=2 --single-transaction --add-drop-table --create-options --quick \--extended-insert --default-character-set=utf8 \--databases discuz > backup-file.sql
導(dǎo)出一個(gè)表:
$ mysqldump -u pak -p --opt --flush-logs pak t_user > pak-t_user.sql
將備份文件壓縮:
$ mysqldump -hhostname -uusername -ppassword --databases dbname | gzip > backup-file.sql.gz 對(duì)應(yīng)的還原動(dòng)作為 gunzip < backup-file.sql.gz | mysql -uusername -ppassword dbname
導(dǎo)入數(shù)據(jù)庫:
mysql> use target_dbname mysql> source /mysql/backup/path/backup-file.sql 或 $ mysql target_dbname導(dǎo)入還有一個(gè)
mysqlimport
命令,暫未研究。直接從一個(gè)數(shù)據(jù)庫向另一個(gè)數(shù)據(jù)庫轉(zhuǎn)儲(chǔ):
mysqldump -u用戶名 -p --opt dbname | mysql --host remote_host -C dbname2
本文題目:MySQL備份命令mysqldump參數(shù)說明與示例
文章分享:http://weahome.cn/article/gdeeoi.html