新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MySQL MyISAM和InNodb備份與恢復(fù)技巧

MySQL MyISAM和InNodb備份與恢復(fù)技巧

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

· --compatible=name

產(chǎn)生與其它數(shù)據(jù)庫系統(tǒng)或舊的服務(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語句中包括所有表選項。

· ---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默認字符集。如果沒有指定,mysqldump使用utf8。

· --delayed-insert

使用INSERT DELAYED語句插入行。

· --delete-master-logs

在主復(fù)制服務(wù)器上,完成轉(zhuǎ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)儲前刷新服務(wù)器日志文件。該選項要求RELOAD權(quán)限。請注意如果結(jié)合--all--database(或-A)選項使用該選項,根據(jù)每個轉(zhuǎn)儲的數(shù)據(jù)庫刷新日志。例外情況是當使用--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

從給定主機的MySQL服務(wù)器轉(zhuǎn)儲數(shù)據(jù)。默認主機是localhost。

· --hex-blob

使用十六進制符號轉(zhuǎ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是一個更好的選項,因為它不根本需要鎖定表。

請注意當轉(zhuǎn)儲多個數(shù)據(jù)庫時,--lock-tables分別為每個數(shù)據(jù)庫鎖定表。因此,該選項不能保證轉(zhuǎn)儲文件中的表在數(shù)據(jù)庫之間的邏輯一致性。不同數(shù)據(jù)庫表的轉(zhuǎn)儲狀態(tài)可以完全不同。

· --master-data[=value]

該選項將二進制日志的位置和文件名寫入到輸出中。該選項要求有RELOAD權(quán)限,并且必須啟用二進制日志。如果該選項值等于1,位置和文件名被寫入CHANGE MASTER語句形式的轉(zhuǎn)儲輸出,如果你使用該SQL轉(zhuǎn)儲主服務(wù)器以設(shè)置從服務(wù)器,從服務(wù)器從主服務(wù)器二進制日志的正確位置開始。如果選項值等于2,CHANGE MASTER語句被寫成SQL注釋。如果value被省略,這是默認動作。

--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)儲文件。該選項默認開啟,但可以用--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



關(guān)鍵詞: MySQL 備份 恢復(fù)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉