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