MySQL mysqldump 常見備份引數詳解

2021-10-05 23:27:10 字數 3259 閱讀 4222

#【-a, --all-databases】匯出所有資料庫資料,包括資料庫和表的建立指令碼

mysqldump -uroot -pmysql -a

#【-a】匯出包括建立選項,預設啟用(如建立表時帶有選項 engine default charset);

# 相反:不需要選項則使用 --skip-create-options 

mysqldump -uroot -pmysql -a test

mysqldump -uroot -pmysql --skip-create-options test

#【-b, --databases】匯出指定資料庫資料,包括資料庫和表的建立指令碼

# 相反使用 -n, --no-create-db

mysqldump -uroot -pmysql -b test dbname2

mysqldump -uroot -pmysql -n test

#【-c】完整插入語句,insert時把欄位名都列出,如insert into tab(id,name)valeus(1,'a')

mysqldump -uroot -pmysql -b -c test

#【-c】伺服器客戶端協議間使用壓縮

mysqldump -uroot -pmysql -b -c test

#【--compact】多餘的注釋去掉,一般用於debug 。預設使用以下引數

# --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset.

mysqldump -uroot -pmysql --compact test

#【--compatible】匯出相應模式的指令碼,模式有:

# ansi, mysql323, mysql40,postgresql, oracle, mssql, db2, maxdb, no_key_options,no_table_options, no_field_options

mysqldump -uroot -pmysql -b --compact --compatible=mssql test

#【-d】只匯出建立指令碼,不匯出資料

mysqldump -uroot -pmysql -d test

#【--default-character-set=name】匯出指定字符集格式

mysqldump -uroot -pmysql --default-character-set=utf8 test

#【--delete-master-logs】使用新的日誌,並刪除所以舊日誌檔案。預設啟用 --master-data

mysqldump -uroot -pmysql --delete-master-logs test

#【-e, --events 】包括事件、觸發器

mysqldump -uroot -pmysql -d test

#【-e, --extended-insert】多個insert使用乙個語句多個values,預設啟用

#相反:每個value乙個insert則使用 --skip-extended-insert

mysqldump -uroot -pmysql -e test

mysqldump -uroot -pmysql --skip-extended-insert test

#【-f, --flush-logs】重新整理日誌,日誌檔案切換新的

mysqldump -uroot -pmysql -f test

#【-f, --force】錯誤繼續

mysqldump -uroot -pmysql -f test

#【--flush-privileges】

mysqldump -uroot -pmysql --flush-privileges test

#【-i, --comments】包括額外資訊,預設啟用。

#相反:不包括額外資訊使用 --skip-comments ,此引數預設將 "--" 的注釋行去掉

mysqldump -uroot -pmysql -i test

mysqldump -uroot -pmysql --skip-comments test

#【-l, --lock-tables】匯出時鎖定所有表,使保持一致性。

mysqldump -uroot -pmysql -l test

#【--master-data[=#]】等於2:注釋狀態,顯示備份起始的日誌點;等於1:多用於從庫,使從庫從某個日誌點開始。

mysqldump -uroot -pmysql --lock-all-tables --master-data=2 test

mysqldump -uroot -pmysql --single-transaction --master-data=2 test

#【-q, --quote-names】表和欄位名使用符號(`)

#相反:--skip-quote-names

mysqldump -uroot -pmysql -q test

mysqldump -uroot -pmysql --skip-quote-names test

#【-r, --routines】包括儲存過程和函式 及觸發器

mysqldump -uroot -pmysql -r test

#【--replace】"insert into" 替換為 "replace into"

mysqldump -uroot -pmysql --replace test

#【--tables】 覆蓋選項"-b" ,如庫和表同名

mysqldump -uroot -pmysql -b test --tables test

#【--triggers】 匯出包括觸發器

mysqldump -uroot -pmysql --triggers test

#【-x, --lock-all-tables】 鎖定所有資料庫和表,全域性讀鎖。關閉 --single-transaction 和 --lock-tables

mysqldump -uroot -pmysql -x test

只匯出 insert 語句的資料 及 表結構

mysqldump -uroot -pmysql --skip-add-drop-table -b hzc --tables tablename > /root/table.sql

只匯出 insert 語句的資料

mysqldump -uroot -pmysql --no-create-info -b hzc --tables tablename > /root/table.sql

mysql mysqldump備份表指令碼

bin bash 對mysql資料庫進行制定資料庫表備份 1 0 備份,1 表恢復 2 資料庫 3 表名 4 表名 menu func menu func read p 請選擇資料庫 1 2 3 num if num ne1 num ne2 num ne3 then echo e 選擇錯誤,請重新選...

MySQL mysqldump匯入與匯出

最近,遇到乙個場景需要對mysql資料庫進行備份,本文記錄一下。對整個資料庫備份,包括表結構和資料 格式 mysqldump h資料庫ip u使用者名稱 p 資料庫名 d xx.sql 檔案存放路徑 示例 mysqldump h132.72.192.432 uroot p test home cod...

MYSQL mysqldump備份與恢復

原文mysql備份 冷備份 停止服務進行備份,即停止資料庫的寫入 l mysql的myisam引擎只支援冷備份,innodb支援熱備份,原因 innodb引擎是事務性儲存引擎,每一條語句都會寫日誌,並且每一條語句在日誌裡面都有時間點,那麼在備份的時候,mysql可以根據這個日誌來進行redo和und...