mysqldumpパラメータ解析(詳細)
4891 ワード
目次
DDL Options
Replication Options
Format Options
Filtering Options
Transactional Options
まとめ
DDL Options
--add-drop-database
default: false
各データベース文を作成する前にDROP(if exists)データベース文を作成する.このオプションは、通常、「--all-databases」または「--databases」オプションとともに使用されます.オプションの1つが指定されていない限り、エクスポートされたSQLファイルにcreate database文は記述されません.
--add-drop-table
default:true
各テーブルを作成する前に、DROP(if exists)table文--【インポートされたSQLファイルに反映される】を追加します.
--add-drop-trigger
default:false
トリガ文を作成する前に、DROPトリガ文を作成します.
--all-tablespaces , -Y
default:false
NDBテーブルで使用する任意の表領域を作成するために必要なすべてのSQL文をテーブルdumpファイルに追加します.この情報はmysqldumpの出力には含まれていません.このオプションは現在NDBクラスタテーブルのみに関連しており、MySQL 5.7ではNDBクラスタテーブルはサポートされていません.
--no-create-db , -n
default:false
「--databases」または「--all-databases」オプションが指定されている場合、CREATE DATABASE文の出力は禁止されます.
-Bまたは-Aオプションが指定されていない場合、出力にはCREATE DATABASE文もありません.
--no-create-info , -t
default:false
テーブル構造をエクスポートしません:create table文はありません.
ただし、このオプションでは、ログ・ファイル・グループまたは表領域を作成する文をエクスポートできます.このため、「no-tablespaces」オプションを使用してエクスポートを禁止できます.
--no-tablespaces , -y
default:FALSE
このオプションは、CREATE LOGFILE GROUP and CREATE TABLESPACE文を出力しません.
--replace
default:false
SQLファイルのinsertをreplaceで置換
--force, -f
default:false
すべてのerrorを無視します.このオプションは--ignore-errorより優先度が高いです.
--default-character-set=charset_name
charset_の使用nameはデフォルト文字セットとしてmysqldumpはutf 8をデフォルトで使用する.
Replication Options
--apply-slave-statements
--dump-slaveオプションを使用して生成されたSQLファイルには、change master to文の前にstop slave文が追加され、出力の最後にstart slave文が追加されます.
--delete-master-logs
プライマリ・レプリケーション・サーバでdump操作が完了すると、PURGE BINARY LOGS文がサーバに送信されbinlogが消去されます.このオプションを自動的に有効にする--master-data
--dump-slave
dump後のSQLファイルに、転送元のbinlogファイル名と場所を指定するchange master to文が追加されます.
SHOW SLAVE STATUS出力からRelay_を読み込むMaster_Log_FileとExec_Master_Log_Posの値、それぞれMASTER_に使用LOG_FILEとMASTER_LOG_POS.これらは、プライマリ・サーバのファイル名と場所であり、サーバからコピーされます.
--master-data
このオプションdump a master replication serverをdumpファイルに使用すると、masterのslaveとして別のサーバを設定できます.これにより、dump出力にCHANGE MASTER TO文が含まれ、dumpソースのバイナリログ座標(ファイル名と場所)がマークされます.load dumpファイルをslaveにロードした後、slaveはmaster座標からコピーを開始する必要があります.
オプションが2に割り当てられている場合、CHANGE MASTER TO文はSQLコメントとして書かれ、情報のみが提供されます.
オプションが1に割り当てられている場合、文はコメントとして書かれず、dumpがロードされたときに有効になります.
指定されていない場合は、デフォルトは1です.
--set-gtid-purged=ON/OFF
ダンプファイルにシステムテーブルが含まれている場合は、サーバgtid_は推奨されません.mode=onでダンプファイルをロードする.
--set-gtid-purged=OFFというパラメータを設定しないと、最終的なバックアップファイルにはSET@@GLOBALという言葉があります.GTID_PURGED='5adbcab4-fcbb-11e7-a900-000c29e774f1:1-347';この区間は、プライマリ・ライブラリで現在完了しているすべてのトランザクション番号です.この文は、バックアップがリカバリされると、プライマリ・ライブラリから1~347のトランザクションを同期しなくなります.プライマリ・スレーブ間のダンプでなければ、ライブラリが1~347のすべての区間のデータを同期することを阻止するべきではありません.したがって、一部のバックアップには、「set-gtid-purged=OFF」という文を加える、これらの操作をスキップすることを強制的に指定しない.
Format Options
--hex-blob
16進数表現を使用してバイナリ列をダンプ
--xml
xml形式にダンプ
Filtering Options
--all-databases , -A
dumpすべてのデータベース.
--database ,-B
dumpはデータベースを指定し、1つ以上を指定できます.
--tables
mysqldumpは、このオプションの後にあるすべての名前パラメータをテーブル名と見なします.
--events ,-E
dumpサーバイベント.event権限が必要です.
--ignore-table=db_name.tal_name
指定したテーブルをdumpしないで、データベース名とテーブル名を使用して指定したテーブルを指定する必要があります.複数のテーブルを無視するには、このオプションを複数回使用します.このオプションは、ビューを無視するためにも使用できます.
--no-data , -d
データをエクスポートしない
--triggers
テーブルをエクスポートするトリガで、デフォルトで起動します.--skip-triggersで無効にできます.
--where='' , -w ''
dumpがwhereで選択された行のみで、条件に特殊な文字が含まれている場合は、条件の周囲に引用符を付ける必要があります.
--insert-ignore
プライマリ・キーが重複しますがignoreを使用するとエラーは無視され、データは変更されません.
--opt
高速dump操作が提供され、デフォルトでオンになります.
Transactional Options
--flush-logs , -F
binlog fileを切り替えます.
dumpを開始する前にflushに新しいbinlog fileがあります.このオプションは、バックアップ・リカバリに保険をかける場合に使用します.
--single-transaction
ddlはサポートされていません.このパラメータを加えると、innodbテーブルではテーブルとローはロックされません.コンシステンシスナップショットを作成します.
--no-autocommit
dumpファイルの各INSERT文をSET autocommit=0とCOMMIT文にまとめます.
--compact
バックアップ・ファイルを最適化します.このオプションは、-skip-add-drop-table、-skip-add-locks、-skip-comments、-skip-disable-keys、および-skip-set-charsetオプションを有効にします.
-T
各テーブルは、2つのファイル、1つのSQLファイル、1つのTXTファイルを生成します.1つのファイルにバックアップすることができます.点SQLの末尾であってもよいし、点txtの末尾であってもよいし、1行の行データをエクスポートします.各行のデータはtab方式で各列を分割することを指定し、各行の区切り記号はデフォルトで戻ります.
--lines-terminated-by
行と行の区切り
--fileds-terminated-by=','
列と列の間の分割記号.
まとめ
私が仕事で最も長く使っているパラメータ:
mysqldump -u user -ppassword --single-transaction --set-gtid-purged=off --hex-blob -R -E
(-F:バックアップ開始時にbinlogファイルを再構築する)(--master-data=2:masterのように)(-d/--no-data:データをエクスポートしない)(-t:構造をエクスポートしない)(--ignore-table=db.table)(--events/-E:イベントをエクスポートする(-R/--routines:ストレージ・プロシージャと関数をエクスポートする)(--where='where条件')
DDL Options
Replication Options
Format Options
Filtering Options
Transactional Options
まとめ
DDL Options
--add-drop-database
default: false
各データベース文を作成する前にDROP(if exists)データベース文を作成する.このオプションは、通常、「--all-databases」または「--databases」オプションとともに使用されます.オプションの1つが指定されていない限り、エクスポートされたSQLファイルにcreate database文は記述されません.
--add-drop-table
default:true
各テーブルを作成する前に、DROP(if exists)table文--【インポートされたSQLファイルに反映される】を追加します.
--add-drop-trigger
default:false
トリガ文を作成する前に、DROPトリガ文を作成します.
--all-tablespaces , -Y
default:false
NDBテーブルで使用する任意の表領域を作成するために必要なすべてのSQL文をテーブルdumpファイルに追加します.この情報はmysqldumpの出力には含まれていません.このオプションは現在NDBクラスタテーブルのみに関連しており、MySQL 5.7ではNDBクラスタテーブルはサポートされていません.
--no-create-db , -n
default:false
「--databases」または「--all-databases」オプションが指定されている場合、CREATE DATABASE文の出力は禁止されます.
-Bまたは-Aオプションが指定されていない場合、出力にはCREATE DATABASE文もありません.
--no-create-info , -t
default:false
テーブル構造をエクスポートしません:create table文はありません.
ただし、このオプションでは、ログ・ファイル・グループまたは表領域を作成する文をエクスポートできます.このため、「no-tablespaces」オプションを使用してエクスポートを禁止できます.
--no-tablespaces , -y
default:FALSE
このオプションは、CREATE LOGFILE GROUP and CREATE TABLESPACE文を出力しません.
--replace
default:false
SQLファイルのinsertをreplaceで置換
--force, -f
default:false
すべてのerrorを無視します.このオプションは--ignore-errorより優先度が高いです.
--default-character-set=charset_name
charset_の使用nameはデフォルト文字セットとしてmysqldumpはutf 8をデフォルトで使用する.
Replication Options
--apply-slave-statements
--dump-slaveオプションを使用して生成されたSQLファイルには、change master to文の前にstop slave文が追加され、出力の最後にstart slave文が追加されます.
--delete-master-logs
プライマリ・レプリケーション・サーバでdump操作が完了すると、PURGE BINARY LOGS文がサーバに送信されbinlogが消去されます.このオプションを自動的に有効にする--master-data
--dump-slave
dump後のSQLファイルに、転送元のbinlogファイル名と場所を指定するchange master to文が追加されます.
SHOW SLAVE STATUS出力からRelay_を読み込むMaster_Log_FileとExec_Master_Log_Posの値、それぞれMASTER_に使用LOG_FILEとMASTER_LOG_POS.これらは、プライマリ・サーバのファイル名と場所であり、サーバからコピーされます.
--master-data
このオプションdump a master replication serverをdumpファイルに使用すると、masterのslaveとして別のサーバを設定できます.これにより、dump出力にCHANGE MASTER TO文が含まれ、dumpソースのバイナリログ座標(ファイル名と場所)がマークされます.load dumpファイルをslaveにロードした後、slaveはmaster座標からコピーを開始する必要があります.
オプションが2に割り当てられている場合、CHANGE MASTER TO文はSQLコメントとして書かれ、情報のみが提供されます.
オプションが1に割り当てられている場合、文はコメントとして書かれず、dumpがロードされたときに有効になります.
指定されていない場合は、デフォルトは1です.
--set-gtid-purged=ON/OFF
ダンプファイルにシステムテーブルが含まれている場合は、サーバgtid_は推奨されません.mode=onでダンプファイルをロードする.
--set-gtid-purged=OFFというパラメータを設定しないと、最終的なバックアップファイルにはSET@@GLOBALという言葉があります.GTID_PURGED='5adbcab4-fcbb-11e7-a900-000c29e774f1:1-347';この区間は、プライマリ・ライブラリで現在完了しているすべてのトランザクション番号です.この文は、バックアップがリカバリされると、プライマリ・ライブラリから1~347のトランザクションを同期しなくなります.プライマリ・スレーブ間のダンプでなければ、ライブラリが1~347のすべての区間のデータを同期することを阻止するべきではありません.したがって、一部のバックアップには、「set-gtid-purged=OFF」という文を加える、これらの操作をスキップすることを強制的に指定しない.
Format Options
--hex-blob
16進数表現を使用してバイナリ列をダンプ
--xml
xml形式にダンプ
Filtering Options
--all-databases , -A
dumpすべてのデータベース.
--database ,-B
dumpはデータベースを指定し、1つ以上を指定できます.
--tables
mysqldumpは、このオプションの後にあるすべての名前パラメータをテーブル名と見なします.
--events ,-E
dumpサーバイベント.event権限が必要です.
--ignore-table=db_name.tal_name
指定したテーブルをdumpしないで、データベース名とテーブル名を使用して指定したテーブルを指定する必要があります.複数のテーブルを無視するには、このオプションを複数回使用します.このオプションは、ビューを無視するためにも使用できます.
--no-data , -d
データをエクスポートしない
--triggers
テーブルをエクスポートするトリガで、デフォルトで起動します.--skip-triggersで無効にできます.
--where='' , -w ''
dumpがwhereで選択された行のみで、条件に特殊な文字が含まれている場合は、条件の周囲に引用符を付ける必要があります.
--insert-ignore
プライマリ・キーが重複しますがignoreを使用するとエラーは無視され、データは変更されません.
--opt
高速dump操作が提供され、デフォルトでオンになります.
--skip-opt 。
Transactional Options
--flush-logs , -F
binlog fileを切り替えます.
dumpを開始する前にflushに新しいbinlog fileがあります.このオプションは、バックアップ・リカバリに保険をかける場合に使用します.
--single-transaction
ddlはサポートされていません.このパラメータを加えると、innodbテーブルではテーブルとローはロックされません.コンシステンシスナップショットを作成します.
--no-autocommit
dumpファイルの各INSERT文をSET autocommit=0とCOMMIT文にまとめます.
--compact
バックアップ・ファイルを最適化します.このオプションは、-skip-add-drop-table、-skip-add-locks、-skip-comments、-skip-disable-keys、および-skip-set-charsetオプションを有効にします.
-T
各テーブルは、2つのファイル、1つのSQLファイル、1つのTXTファイルを生成します.1つのファイルにバックアップすることができます.点SQLの末尾であってもよいし、点txtの末尾であってもよいし、1行の行データをエクスポートします.各行のデータはtab方式で各列を分割することを指定し、各行の区切り記号はデフォルトで戻ります.
--lines-terminated-by
行と行の区切り
--fileds-terminated-by=','
列と列の間の分割記号.
まとめ
私が仕事で最も長く使っているパラメータ:
mysqldump -u user -ppassword --single-transaction --set-gtid-purged=off --hex-blob -R -E
(-F:バックアップ開始時にbinlogファイルを再構築する)(--master-data=2:masterのように)(-d/--no-data:データをエクスポートしない)(-t:構造をエクスポートしない)(--ignore-table=db.table)(--events/-E:イベントをエクスポートする(-R/--routines:ストレージ・プロシージャと関数をエクスポートする)(--where='where条件')