MySQL的mysqldump指令引數詳解
阿新 • • 發佈:2018-12-19
MySQL的mysqldump
指令可以進行邏輯備份,其使用格式為mysqlpump [options] > dump.sql
。下述為其簡單應用格式:
1.將資料庫中某個資料庫備份
$ mysqldump -uroot -pPassword [db_name] > [file_name]
例: mysqldump -uroot -p123456 test > test.sql
生成的test.sql
包含資料結構和資料.
2.遠端備份
$ mysqldump -uroot -pPassword -hhost -Pport [db_name] > [ file_name]
例: mysqldump -uroot -p123456 -h192.168.14.171 -P13306 test > test.sql
mysqldump
支援一下引數:
引數名 | 說明 | 使用格式(預設值) |
---|---|---|
–add-drop-database | 在CREATE DATABLE 前新增DROP DATABASE 語句 |
|
–add-drop-table | 在CREATE TABLE 前新增DROP TABLE 語句 |
預設開啟 |
–add-drop-user | 在CREATE USER 前新增DROP USER 語句 |
|
–add-drop-trigger | 在CREATE TRIGGER 前新增DROP TRIGGER 語句 |
|
–add-locks | 在每個表匯出時新增LOCK TABLES 並且之後進行UNLOCK TABLES |
預設開啟 |
–all-databases | 匯出所有資料庫 | |
–allow-keywords | 允許建立以關鍵字為列名的列 | |
–apply-slave-statements | 在CHANGE MASTER 前新增STOP SLAVE 語句,在匯出最後START SLAVE |
|
–bind-address | 使用指定的網路介面連線MySQL資料庫 | |
–character-sets-dir | 指定安裝字符集的目錄 | |
–comments | 將註釋匯入到dump檔案中 | 預設開啟 |
–compact | 產生更少的輸出資訊 | |
–compatible | 匯出的資料將與其它型別資料庫或舊版本的MySQL相容,值可以為ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等 | |
–complete-insert | 使用完整的包含列名的插入語句 | |
–compress | 在客戶端與伺服器間壓縮傳遞所有的資訊 | |
–create-options | 在CREATE TABLE語句中包含所有MySQL表特性選項 | 預設開啟 |
–databases | 輸入後的所有引數都作為資料庫名 | |
–debug | 輸出debug日誌 | |
–debug-check | 當程式退出時,列印debug資訊 | |
–debug-info | 當程式退出時輸出debug資訊、記憶體和CPU資訊 | |
–default-auth | 使用認證外掛 | |
–default-character-set | 指定預設字符集 | 預設值為utf8 |
–defaults-extra-file | 讀取配置檔案 | |
–defaults-file | 只讀命名檔案 | |
–defaults-group-suffix | Option group suffix value | |
–delete-master-logs | 在master備份後刪除日誌 | |
–disable-keys | For each table, surround INSERT statements with statements to disable and enable keys | |
–dump-date | Include dump date as “Dump completed on” comment if --comments is given | |
–dump-slave | 該選項將導致主的binlog位置和檔名追加到匯出資料的檔案中 | |
–enable-cleartext-plugin | Enable cleartext authentication plugin | 5.7.10啟用 |
–events | 從資料庫匯出event | |
–extended-insert | 使用多行插入語句 | |
–fields-enclosed-by | 輸出檔案中的各個欄位用給定字元包裹。與--tab 選項一起使用 |
|
–fields-escaped-by | 輸出檔案中的各個欄位忽略給定字元。與–tab選項一起使用 | |
–fields-optionally-enclosed-by | 輸出檔案中的各個欄位用給定字元選擇性包裹。與–tab選項一起使用 | |
–fields-terminated-by | 匯出檔案中忽略的指定欄位,與--tab 一起使用 |
|
–flush-logs | 在開始匯出前重新整理日誌 | |
–flush-privileges | 在匯出資料庫後,執行FLUSH PRIVILEGES |
|
–force | 在匯出表的過程中忽略出現的SQL錯誤 | |
–get-server-public-key | 從服務獲取RSA公共key | 5.7.23 |
–help | 展示幫助資訊並退出 | |
–hex-blob | 使用十六進位制格式匯出二進位制字串欄位 | |
–host | 要連線的遠端主機IP | |
–ignore-error | 忽略指定錯誤 | 5.7.1啟用 |
–ignore-table | 不匯出指定表 | |
–include-master-host-port | 在--dump-slave 產生的CHANGE MASTER TO.. 語句中增加MASTER_HOST=<host>,MASTER_PORT=<port> |
|
–insert-ignore | 用INSERT IGNORE 替代INSERT |
|
–lines-terminated-by | 輸出檔案的每行用給定字串劃分。與–tab選項一起使用 | |
–lock-all-tables | 提交請求鎖定所有資料庫中的所有表,以保證資料的一致性。這是一個全域性讀鎖,並且自動關閉 | |
–lock-tables | 在dump表之前鎖表 | |
–log-error-file | 匯出警告和錯誤資訊到指定檔案 | |
–login-path | Read login path options from .mylogin.cnf | |
–master-data | 該選項將binlog的位置和檔名追加到輸出檔案中 | |
–max-allowed-packet | 設定從服務接收或傳送到服務的最大包長度 | |
–net-buffer-length | 設定TCP/IP 和socket連線的快取大小 | |
–no-autocommit | 使用autocommit/commit 語句包裹表。 | |
–no-create-db | 不匯出建庫語句 | |
–no-create-info | 不匯出建表語句 | |
–no-data | 不匯出表資料 | |
–no-defaults | Read no option files | |
–no-set-names | 等同於--skip-set-charset |
|
–no-tablespaces | 不匯入表空間資訊 | |
–opt | 等同於–add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 該選項預設開啟, 可以用–skip-opt禁用. | |
–order-by-primary | 匯出每個表的資料行時按照表的主鍵或者第一個唯一欄位排序 | |
–password | 連線資料庫的密碼 | |
–pipe | 在Windows,使用命名管道連線mysql | |
–plugin-dir | 指定外掛安裝的目錄 | |
–port | 資料庫連線的埠 | |
–print-defaults | 輸出預設引數 | |
–protocol | 連線所用的協議 | |
–quick | 不緩衝查詢,直接匯出到標準輸出 | 預設開啟 |
–quote-names | 使用(`)引起表和列名 | 預設開啟 |
–replace | 用REPLACE 取代INSERT 語句 |
|
–result-file | 直接輸出到指定檔案中 | |
–routines | 匯出儲存的routine(儲存過程和函式) | |
–secure-auth | 不以舊形式向服務傳送密碼 | 5.7.4啟用,5.7.5棄用 |
–server-public-key-path | Path name to file containing RSA public key | 5.7.23 |
–set-charset | 新增SET NAMES default_character_set 到輸出檔案 |
預設開啟 |
–set-gtid-purged | Whether to add SET @@GLOBAL.GTID_PURGED to output | |
–shared-memory-base-name | The name of shared memory to use for shared-memory connections | |
–single-transaction | 選項在匯出資料之前提交一個BEGIN SQL語句,BEGIN 不會阻塞任何應用程式且能保證匯出時資料庫的一致性狀態。它只適用於多版本儲存引擎,僅InnoDB。本選項和–lock-tables 選項是互斥的,因為LOCK TABLES 會使任何掛起的事務隱含提交。要想匯出大表的話,應結合使用–quick 選項。 | |
–skip-add-drop-table | 不在CREATE TABLE 前新增DROP TABLE 語句 |
|
–skip-add-locks | 匯出時不加鎖 | |
–skip-comments | 不匯出註釋 | |
–skip-compact | 不減少輸出資訊 | |
–skip-disable-keys | 不disable key | |
–skip-extended-insert | 關閉extended-insert | |
–skip-opt | 關閉--opt 設定的 |
|
–skip-quick | 進行資料緩衝Do not retrieve rows for a table from the server a row at a time | |
–skip-quote-names | 取消1–quote-names` | |
–skip-set-charset | 不設定字符集 | |
–skip-triggers | 不匯出觸發器 | |
–skip-tz-utc | 關閉時區設定 | |
–socket | 指定連線mysql的socket檔案位置 | |
–ssl | Enable encrypted connection | |
–ssl-ca | File that contains list of trusted SSL Certificate Authorities | |
–ssl-capath | Directory that contains trusted SSL Certificate Authority certificate files | |
–ssl-cert | File that contains X.509 certificate | |
–ssl-cipher | List of permitted ciphers for connection encryption | |
–ssl-crl | File that contains certificate revocation lists | |
–ssl-crlpath | Directory that contains certificate revocation list files | |
–ssl-key | File that contains X.509 key | |
–ssl-mode | Security state of connection to server | 5.7.11 |
–ssl-verify-server-cert | Verify host name against server certificate Common Name identity | |
–tab為每個表在給定路徑建立tab分割的文字檔案 | ||
–tables | 覆蓋–databases (-B)引數,指定需要匯出的表名。 | |
–tls-version | Protocols permitted for encrypted connections | 5.7.10 |
–triggers | 匯出觸發器 | |
–tz-utc | 新增SET TIME_ZONE='+00:00' 到匯出的檔案中,保證匯出資料的時區正確性 |
|
–user | 指定連線MySQL的使用者名稱 | |
----verbose | 輸出多種平臺資訊。 | |
–version | 顯示mysqldump的版本資訊並退出 | 5.7.9 |
–where | 只匯出符合where條件的資料 | |
–xml | 匯出XML格式. |