新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MySQL MyISAM和InNodb備份與恢復技巧

        MySQL MyISAM和InNodb備份與恢復技巧

        作者: 時間:2016-09-12 來源:網絡 收藏

        · --compatible=name

        產生與其它數據庫系統或舊的服務器更兼容的輸出。值可以為ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options或者no_field_options。要使用幾個值,用逗號將它們隔開。這些值與設置服務器SQL模式的相應選項有相同的含義。

        該選項不能保證同其它服務器之間的兼容性。它只啟用那些目前能夠使轉儲輸出更兼容的SQL模式值。例如,--compatible=oracle 不映射Oracle類型或使用Oracle注釋語法的數據類型。

        · --complete-insert,-c

        使用包括列名的完整的INSERT語句。

        · --compress,-C

        壓縮在客戶端和服務器之間發送的所有信息(如果二者均支持壓縮)。

        · --create-option

        在CREATE TABLE語句中包括所有表選項。

        · ---database,-B

        轉儲幾個數據庫。通常情況,mysqldump將命令行中的第1個名字參量看作數據庫名,后面的名看作表名。使用該選項,它將所有名字參量看作數據庫名。CREATE DATABASE IF NOT EXISTS db_name和USE db_name語句包含在每個新數據庫前的輸出中。

        · ---debug[=debug_options],-# [debug_options]

        寫調試日志。debug_options字符串通常為'd:t:o,file_name'。

        · --default-character-set=charset

        使用charsetas默認字符集。如果沒有指定,mysqldump使用utf8。

        · --delayed-insert

        使用INSERT DELAYED語句插入行。

        · --delete-master-logs

        在主復制服務器上,完成轉儲操作后刪除二進制日志。該選項自動啟用--master-data。

        · --disable-keys,-K

        對于每個表,用;和;語句引用INSERT語句。這樣可以更快地裝載轉儲文件,因為在插入所有行后創建索引。該選項只適合MyISAM表。

        · --extended-insert,-e

        使用包括幾個VALUES列表的多行INSERT語法。這樣使轉儲文件更小,重載文件時可以加速插入。

        · --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

        開始轉儲前刷新服務器日志文件。該選項要求RELOAD權限。請注意如果結合--all--database(或-A)選項使用該選項,根據每個轉儲的數據庫刷新日志。例外情況是當使用--lock-all-tables或--master-data的時候:在這種情況下,日志只刷新一次,在所有 表被鎖定后刷新。如果你想要同時轉儲和刷新日志,應使用--flush-logs連同--lock-all-tables或--master-data。

        · --force,-f

        在表轉儲過程中,即使出現SQL錯誤也繼續。

        · --host=host_name,-h host_name

        從給定主機的MySQL服務器轉儲數據。默認主機是localhost。

        · --hex-blob

        使用十六進制符號轉儲二進制字符串列(例如,'abc' 變為0x616263)。影響到的列有BINARY、VARBINARY、BLOB。

        · --lock-all-tables,-x

        所有數據庫中的所有表加鎖。在整體轉儲過程中通過全局讀鎖定來實現。該選項自動關閉--single-transaction和--lock-tables。

        · --lock-tables,-l

        開始轉儲前鎖定所有表。用READ LOCAL鎖定表以允許并行插入MyISAM表。對于事務表例如InnoDB和BDB,--single-transaction是一個更好的選項,因為它不根本需要鎖定表。

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

        · --master-data[=value]

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

        --master-data選項啟用--lock-all-tables,除非還指定--single-transaction(在這種情況下,只在剛開始轉儲時短時間獲得全局讀鎖定。又見--single-transaction。在任何一種情況下,日志相關動作發生在轉儲時。該選項自動關閉--lock-tables。

        · --no-create-db,-n

        該選項禁用CREATE DATABASE db_name語句,如果給出---database或--all--database選項,則包含到輸出中。

        · --no-create-info,-t

        不寫重新創建每個轉儲表的CREATE TABLE語句。

        · --no-data,-d

        不寫表的任何行信息。如果你只想轉儲表的結構這很有用。

        · --opt

        該選項是速記;等同于指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset。它可以給出很快的轉儲操作并產生一個可以很快裝入MySQL服務器的轉儲文件。該選項默認開啟,但可以用--skip-opt禁用。要想只禁用確信用-opt啟用的選項,使用--skip形式;例如,--skip-add-drop-tables或--skip-quick。

        · --password[=password],-p[password]

        連接服務器時使用的密碼。如果你使用短選項形式(-p),不能在選項和密碼之間有一個空格。如果在命令行中,忽略了--password或-p選項后面的 密碼值,將提示你輸入一個。

        · --port=port_num,-P port_num

        用于連接的TCP/IP端口號。

        · --protocol={TCP | SOCKET | PIPE | MEMORY}

        使用的連接協議。

        · --quick,-q



        關鍵詞: MySQL 備份 恢復

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巨野县| 开原市| 八宿县| 陇西县| 桂阳县| 涿鹿县| 乡城县| 莆田市| 嘉黎县| 张家口市| 佛山市| 九龙坡区| 乌兰县| 桦南县| 庄河市| 全南县| 梁平县| 益阳市| 雅安市| 龙川县| 洛阳市| 绍兴市| 司法| 岐山县| 阳谷县| 建昌县| 保山市| 民县| 承德县| 浏阳市| 墨脱县| 建德市| 德钦县| 赤城县| 虞城县| 郁南县| 岑溪市| 泸西县| 专栏| 大洼县| 丹阳市|