MySQL MyISAM和InNodb備份與恢復(fù)技巧
· --compatible=name
產(chǎn)生與其它數(shù)據(jù)庫(kù)系統(tǒng)或舊的MySQL服務(wù)器更兼容的輸出。值可以為ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options或者no_field_options。要使用幾個(gè)值,用逗號(hào)將它們隔開(kāi)。這些值與設(shè)置服務(wù)器SQL模式的相應(yīng)選項(xiàng)有相同的含義。
該選項(xiàng)不能保證同其它服務(wù)器之間的兼容性。它只啟用那些目前能夠使轉(zhuǎn)儲(chǔ)輸出更兼容的SQL模式值。例如,--compatible=oracle 不映射Oracle類型或使用Oracle注釋語(yǔ)法的數(shù)據(jù)類型。
· --complete-insert,-c
使用包括列名的完整的INSERT語(yǔ)句。
· --compress,-C
壓縮在客戶端和服務(wù)器之間發(fā)送的所有信息(如果二者均支持壓縮)。
· --create-option
在CREATE TABLE語(yǔ)句中包括所有MySQL表選項(xiàng)。
· ---database,-B
轉(zhuǎn)儲(chǔ)幾個(gè)數(shù)據(jù)庫(kù)。通常情況,mysqldump將命令行中的第1個(gè)名字參量看作數(shù)據(jù)庫(kù)名,后面的名看作表名。使用該選項(xiàng),它將所有名字參量看作數(shù)據(jù)庫(kù)名。CREATE DATABASE IF NOT EXISTS db_name和USE db_name語(yǔ)句包含在每個(gè)新數(shù)據(jù)庫(kù)前的輸出中。
· ---debug[=debug_options],-# [debug_options]
寫調(diào)試日志。debug_options字符串通常為'd:t:o,file_name'。
· --default-character-set=charset
使用charsetas默認(rèn)字符集。如果沒(méi)有指定,mysqldump使用utf8。
· --delayed-insert
使用INSERT DELAYED語(yǔ)句插入行。
· --delete-master-logs
在主復(fù)制服務(wù)器上,完成轉(zhuǎn)儲(chǔ)操作后刪除二進(jìn)制日志。該選項(xiàng)自動(dòng)啟用--master-data。
· --disable-keys,-K
對(duì)于每個(gè)表,用;和;語(yǔ)句引用INSERT語(yǔ)句。這樣可以更快地裝載轉(zhuǎn)儲(chǔ)文件,因?yàn)樵诓迦胨行泻髣?chuàng)建索引。該選項(xiàng)只適合MyISAM表。
· --extended-insert,-e
使用包括幾個(gè)VALUES列表的多行INSERT語(yǔ)法。這樣使轉(zhuǎn)儲(chǔ)文件更小,重載文件時(shí)可以加速插入。
· --fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields-escaped-by=...,--行-terminated-by=...
這些選項(xiàng)結(jié)合-T選項(xiàng)使用,與LOAD DATA INFILE的相應(yīng)子句有相同的含義。
· --first-slave,-x
不贊成使用,現(xiàn)在重新命名為--lock-all-tables。
· --flush-logs,-F
開(kāi)始轉(zhuǎn)儲(chǔ)前刷新MySQL服務(wù)器日志文件。該選項(xiàng)要求RELOAD權(quán)限。請(qǐng)注意如果結(jié)合--all--database(或-A)選項(xiàng)使用該選項(xiàng),根據(jù)每個(gè)轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫(kù)刷新日志。例外情況是當(dāng)使用--lock-all-tables或--master-data的時(shí)候:在這種情況下,日志只刷新一次,在所有 表被鎖定后刷新。如果你想要同時(shí)轉(zhuǎn)儲(chǔ)和刷新日志,應(yīng)使用--flush-logs連同--lock-all-tables或--master-data。
· --force,-f
在表轉(zhuǎn)儲(chǔ)過(guò)程中,即使出現(xiàn)SQL錯(cuò)誤也繼續(xù)。
· --host=host_name,-h host_name
從給定主機(jī)的MySQL服務(wù)器轉(zhuǎn)儲(chǔ)數(shù)據(jù)。默認(rèn)主機(jī)是localhost。
· --hex-blob
使用十六進(jìn)制符號(hào)轉(zhuǎn)儲(chǔ)二進(jìn)制字符串列(例如,'abc' 變?yōu)?x616263)。影響到的列有BINARY、VARBINARY、BLOB。
· --lock-all-tables,-x
所有數(shù)據(jù)庫(kù)中的所有表加鎖。在整體轉(zhuǎn)儲(chǔ)過(guò)程中通過(guò)全局讀鎖定來(lái)實(shí)現(xiàn)。該選項(xiàng)自動(dòng)關(guān)閉--single-transaction和--lock-tables。
· --lock-tables,-l
開(kāi)始轉(zhuǎn)儲(chǔ)前鎖定所有表。用READ LOCAL鎖定表以允許并行插入MyISAM表。對(duì)于事務(wù)表例如InnoDB和BDB,--single-transaction是一個(gè)更好的選項(xiàng),因?yàn)樗桓拘枰i定表。
請(qǐng)注意當(dāng)轉(zhuǎn)儲(chǔ)多個(gè)數(shù)據(jù)庫(kù)時(shí),--lock-tables分別為每個(gè)數(shù)據(jù)庫(kù)鎖定表。因此,該選項(xiàng)不能保證轉(zhuǎn)儲(chǔ)文件中的表在數(shù)據(jù)庫(kù)之間的邏輯一致性。不同數(shù)據(jù)庫(kù)表的轉(zhuǎn)儲(chǔ)狀態(tài)可以完全不同。
· --master-data[=value]
該選項(xiàng)將二進(jìn)制日志的位置和文件名寫入到輸出中。該選項(xiàng)要求有RELOAD權(quán)限,并且必須啟用二進(jìn)制日志。如果該選項(xiàng)值等于1,位置和文件名被寫入CHANGE MASTER語(yǔ)句形式的轉(zhuǎn)儲(chǔ)輸出,如果你使用該SQL轉(zhuǎn)儲(chǔ)主服務(wù)器以設(shè)置從服務(wù)器,從服務(wù)器從主服務(wù)器二進(jìn)制日志的正確位置開(kāi)始。如果選項(xiàng)值等于2,CHANGE MASTER語(yǔ)句被寫成SQL注釋。如果value被省略,這是默認(rèn)動(dòng)作。
--master-data選項(xiàng)啟用--lock-all-tables,除非還指定--single-transaction(在這種情況下,只在剛開(kāi)始轉(zhuǎn)儲(chǔ)時(shí)短時(shí)間獲得全局讀鎖定。又見(jiàn)--single-transaction。在任何一種情況下,日志相關(guān)動(dòng)作發(fā)生在轉(zhuǎn)儲(chǔ)時(shí)。該選項(xiàng)自動(dòng)關(guān)閉--lock-tables。
· --no-create-db,-n
該選項(xiàng)禁用CREATE DATABASE db_name語(yǔ)句,如果給出---database或--all--database選項(xiàng),則包含到輸出中。
· --no-create-info,-t
不寫重新創(chuàng)建每個(gè)轉(zhuǎn)儲(chǔ)表的CREATE TABLE語(yǔ)句。
· --no-data,-d
不寫表的任何行信息。如果你只想轉(zhuǎn)儲(chǔ)表的結(jié)構(gòu)這很有用。
· --opt
該選項(xiàng)是速記;等同于指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset。它可以給出很快的轉(zhuǎn)儲(chǔ)操作并產(chǎn)生一個(gè)可以很快裝入MySQL服務(wù)器的轉(zhuǎn)儲(chǔ)文件。該選項(xiàng)默認(rèn)開(kāi)啟,但可以用--skip-opt禁用。要想只禁用確信用-opt啟用的選項(xiàng),使用--skip形式;例如,--skip-add-drop-tables或--skip-quick。
· --password[=password],-p[password]
連接服務(wù)器時(shí)使用的密碼。如果你使用短選項(xiàng)形式(-p),不能在選項(xiàng)和密碼之間有一個(gè)空格。如果在命令行中,忽略了--password或-p選項(xiàng)后面的 密碼值,將提示你輸入一個(gè)。
· --port=port_num,-P port_num
用于連接的TCP/IP端口號(hào)。
· --protocol={TCP | SOCKET | PIPE | MEMORY}
使用的連接協(xié)議。
· --quick,-q
評(píng)論