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