クラスタリストアプログラムは,別個のコマンド行ユ,ティリティ,ndb_restoreとして実装されており,通常はMySQLの箱子
ディレクトリにあります。このプログラムは,バックアップの結果として作成されたファイルを読み取り,格納されている情報をデータベースに挿入します。
ndb_restoreは,バックアップを作成するために使用される开始备份
コマンド(セクション18.5.3.2“MySQL集群管理クライアントを使用したバックアップの作成”を参照してください)によって作成されたバックアップファaaplルごとに,一度実行する必要があります。これは,バックアップが作成された時点の,クラスタ内のデ,タノ,ド数と同じです。
複数のデ,タノ,ドを並列でリストアしている場合を除き,ndb_restoreを使用する前に,クラスタをシングルユ,ザ,モ,ドで実行することをお勧めします。詳細は,セクション18.5.8“MySQL集群のシングルユザモド”を参照してください。
次の表には,MySQL集群ネescティブバックアップリストアプログラムndb_restoreに固有のオプションが含まれています。追加説明が表のあとにあります。ほとんどのMySQL集群プログラム(ndb_restoreを含む)に共通するオプションにいては,セクション18.4.27“MySQL集群プログラムに共通するオプション——MySQL集群プログラムに共通するオプション”を参照してください。
表18.90この表は,ndb_restoreプログラムのコマンド行オプションについて説明しています
形式 | 説明 | 追加または削除 |
---|---|---|
|
——connectstringのエリアス。 | すべてのMySQL 5.6ベスリリス |
このidのノドからファルをバックアップします | すべてのMySQL 5.6ベスリリス |
|
指定されたidのバックアップからリストアします | すべてのMySQL 5.6ベスリリス |
|
NDB接口を使用してテ,ブルデ,タおよびログをNDB集群にリストアします | すべてのMySQL 5.6ベスリリス |
|
NDB接口を使用してメタデ,タをNDB集群にリストアします | すべてのMySQL 5.6ベスリリス |
|
|
VARデータがまだサイズ変更されていない可変サイズ属性の配列タイプをアップグレードせず,カラム属性を変更しません | すべてのMySQL 5.6ベスリリス |
バックアップからデ,タをリストアするときに,属性の昇格を許可します | すべてのMySQL 5.6ベスリリス |
|
固定幅文字列型を可変幅型に昇格するときに,末尾の空白(パディングを含む)を維持することを許可します | すべてのMySQL 5.6ベスリリス |
|
ディスクデ,タに関連するオブジェクトをリストアしません | すべてのMySQL 5.6ベスリリス |
|
エポック情報をステ,タステ,ブルにリストアします。MySQL集群レプリケ,ションスレーブでレプリケーションを開始する場合に便利です。mysql.ndb_apply_status の ID 0 の行が更新/挿入されます。 | すべてのMySQL 5.6ベスリリス |
|
デ,タのリストア中に,テ,ブル構造チェックをスキップします | すべてのMySQL 5.6ベスリリス |
|
デ,タのリストア中に使用する並列トランザクションの数 | すべてのMySQL 5.6ベスリリス |
|
メタデータ,データ,およびログをstdoutに出力します(——print_meta print_data——print_logと同等です) | すべてのMySQL 5.6ベスリリス |
|
メタデ,タをstdoutに出力します | すべてのMySQL 5.6ベスリリス |
|
デ,タをstdoutに出力します | すべてのMySQL 5.6ベスリリス |
|
Stdoutに出力します | すべてのMySQL 5.6ベスリリス |
|
バックアップファ@ @ルディレクトリへのパス | すべてのMySQL 5.6ベスリリス |
|
リストア中にシステムテ,ブルを無視しません。実験用であり,本番で使用するためのものではありません | すべてのMySQL 5.6ベスリリス |
|
Ndbclusterストレ,ジエンジンのためのノ,ドグル,プマップ。構文:(source_nodegroup, destination_nodegroup)のリスト | すべてのMySQL 5.6ベスリリス |
|
フィ,ルドが指定された文字で囲まれます | すべてのMySQL 5.6ベスリリス |
|
フィ,ルドが指定された文字で終了します | すべてのMySQL 5.6ベスリリス |
|
フィ,ルドは,必要に応じて指定された文字で囲まれます | すべてのMySQL 5.6ベスリリス |
|
指定された文字で行が終了します | すべてのMySQL 5.6ベスリリス |
|
バ▪▪ナリタ▪▪プを16進形式で出力します | すべてのMySQL 5.6ベスリリス |
|
指定されたパス内の各テブルの,タブ区切りの.txtファルを作成します | すべてのMySQL 5.6ベスリリス |
|
タブ区切りのファ▪▪ルにデ▪▪タを追加します | すべてのMySQL 5.6ベスリリス |
|
指定された秒数おきに,リストアのステ,タスを出力します | すべてのMySQL 5.6ベスリリス |
|
mysqldが接続されていて,バイナリロギングを使用している場合,リストアされたデータのログを記録しません | すべてのMySQL 5.6ベスリリス |
|
出力の冗長性レベル | すべてのMySQL 5.6ベスリリス |
|
1 () | すべてのMySQL 5.6ベスリリス |
|
1 () | すべてのMySQL 5.6ベスリリス |
|
リストアする1つ以上のテーブルのリスト(同じデータベース内の指定されていないものを除外します)。各テ,ブル参照にはデ,タベ,ス名が含まれている必要があります | すべてのMySQL 5.6ベスリリス |
|
除外する1以上のテブルのリスト()。各テ,ブル参照にはデ,タベ,ス名が含まれている必要があります | すべてのMySQL 5.6ベスリリス |
|
バックアップバージョンのテーブルから,データベース内のバージョンのテーブルにないカラムが無視されます。 | すべてのMySQL 5.6ベスリリス |
|
バックアップから,デ,タベ,スにないテ,ブルが無視されます。 | 追加:NDB 7.3.7 |
|
バックアップ内の@ @ンデックスが無視されます。デ,タのリストアに必要となる時間が短くなることがあります。 | すべてのMySQL 5.6ベスリリス |
|
バックアップで見かった順序付けされたンデックスをマルチスレッドで再構築します。使用されるスレッド数は,BuildIndexThreadsパラメータを設定することによって決定されます。 | すべてのMySQL 5.6ベスリリス |
|
バックアップファル内で欠けているblobテブルが無視されます。 | すべてのMySQL 5.6ベスリリス |
|
新しいバージョンのMySQL集群から作成されたバックアップを古いバージョンにリストアするときに,ndb_restoreによって認識されないスキーマオブジェクトが無視されます。 | すべてのMySQL 5.6ベスリリス |
|
元の名前と異なる名前のデ,タベ,スにリストアします | すべてのMySQL 5.6ベスリリス |
|
バックアップからデータをリストアするときに,カラム値の不可逆変換(型の昇格または符号の変更)を許可します | すべてのMySQL 5.6ベスリリス |
|
以前NDBに移動されたMySQL権限テ,ブルをリストアします。 | すべてのMySQL 5.6ベスリリス |
|
TRUE(デフォルト)の場合は,ALTER TABLEのコピー操作で残された中間テーブル(名前の前に# sql -“が付けられています)がリストアされません。 | 追加:NDB 7.3.6 |
このユ,ティリティ,の一般的なオプションを次に示します。
通常,MySQL集群のバックアップからリストアする場合,ndb_restoreでは——nodeid
(短縮形:- n
)、——backupid
(短縮形:- b
),および——backup_path
オプションが最低限必要となります。
ndb_restore [- cconnection_string) - nnode_id- bbackup_id\ [-m] -r——backup_path=/ /备份/文件/路径
- c
オプションは,ndb_restore
にクラスタ管理サ,バ,を探す場所を伝える接続文字列を指定するために使用します。(接続文字列にいては,セクション18.3.2.3“MySQL集群の接続文字列”を参照してください)。このオプションを使用しない場合,ndb_restoreはlocalhost: 1186
の管理サ,バ,に接続を試みます。このユーティリティーはクラスタAPIノードとして動作するため,クラスタ管理サーバーに接続するための空き接続「スロット」が必要となります。これは,クラスタconfig.ini
ファ@ @ル内にそれが使用できる(api)
セクションまたは(mysqld)
セクションが少なくとも1存在する必要があることを意味します。このため,MySQL サーバーまたはほかのアプリケーションに使用されていない空の(api)
セクションまたは(mysqld)
セクションを,config.ini
内に少なくとも1用意することをお勧めします(セクション18.3.2.7“MySQL集群内のSQLノードおよびその他のAPIノードの定義”を参照してください)。
ndb_restoreがクラスタに接続されていることを確認するには,ndb_mgm管理クラ@ @アントで显示コマンドを使用します。システムシェルで次のようにすることでこれを実現することもできます。
shell> ndb_mgm -e "SHOW"
- n
はバックアップが取得されたデ,タノ,ドのノ,ドidを指定するために使用します。
ndb_restoreリストアプログラムを最初に実行するときは,メタデ,タもリストアする必要があります。言い換えると,デ,タベ,ステ,ブルを再作成する必要があります。これは,——restore_meta
(- m
)オプションを指定して実行することによって行うことができます。メタデ,タをリストアする必要があるのは単一デ,タノ,ドだけです。これで十分にクラスタ全体にリストアできます。バックアップのリストアを開始するときには,クラスタに空のデータベースがあるべきでます(言い換えると,リストアを実行する前に,——初始
を指定してndbdを開始してください)。
テ,ブルメタデ,タをリストアしなくてもデ,タをリストアできます。これを行うときのデフォルト動作は,テ,ブルデ,タがテ,ブルスキ,マと一致しない場合にndb_restoreがエラ,で失敗することです。これは,——skip-table-check
オプションまたは- s
オプションを使用してオバラドできます。
ndb_restoreを使用してデ,タをリストアするときのカラム定義内の不一致に関する制限の一部が緩和されています。それらのタ电子邮箱プの不一致のいずれかが発生しても,ndb_restoreは以前のようにエラーで停止しなくなり,代わりにデータを受け入れてターゲットテーブルに挿入し,これが行われているという警告をユーザーに発行します。この動作は,——skip-table-check
オプションまたは——promote-attributes
オプションが使用されているかどうかにかかわらず,実行されます。カラム定義でのこれらの違いには次のタ@ @プがあります。
異なる
COLUMN_FORMAT
設定 (固定
、动态
、默认的
)異なる
存储
設定 (内存
、磁盘
)異なるデフォルト値
異なる配布キ,設定
ndb_restoreは,MySQLレプリケ,ションでサポ,トされるのとほぼ同様に,属性昇格を制限付きでサポ,トします。まり,特定の型のカラムからバックアップされたデ,タは一般的に,「より大きい同様の」型を使用してカラムにリストアできます。たとえば,CHAR (20)
カラムのデ,タはVARCHAR (20)
、VARCHAR (30)
,またはCHAR (30)
として宣言されているカラムにリストアでき,MEDIUMINT
カラムのデ,タは,INT
または长整型数字
型のカラムにリストアできます。属性昇格によって現在サポートされる型変換の表については、セクション17.4.1.9.2 "デ、タ型が異なるカラムのレプリケ、ション"を参照してください。
ndb_restoreによる属性昇格は,次のように明示的に有効にする必要があります。
バックアップをリストアするテ,ブルを準備します。ndb_restoreを使用してオリジナルと異なる定義でテ,ブルを再作成することはできません。これは,テーブルを手動で作成するか、またはテーブルメタデータをリストアしたあとかつデータをリストアする前に昇格するカラムを
ALTER TABLE
を使用して変更する必要があることを意味します。テ,ブルデ,タをリストアするときに,
——promote-attributes
オプション(短縮形:——一个
)を指定してndb_restoreを呼び出します。このオプションを使用しない場合,属性昇格は行われず,リストア操作がエラ,で失敗します。
MySQL集群NDB 7.3.3より前は,文字デ,タ型と文本
または团
の間の変換が正しく処理されませんでした(Bug #17325051)。
MySQL集群NDB 7.3.7より前は,文本
から非常小的文本串
への降格が正しく処理されませんでした(Bug #18875137)。
文字デ,タ型と文本
または团
の間で変換する場合は、文字型(字符
およびVARCHAR
)とバ龋ナリ型(二进制
およびVARBINARY
)の間の変換のみを同時に実行できます。たとえば,同じndb_restore呼び出しで,VARCHAR
カラムを文本
に昇格するときに,INT
カラムを长整型数字
に昇格できません。
異なる文字セットが使用されている文本
カラム間の変換はサポ,トされていません。MySQL集群NDB 7.3.7以降では,これは明確に許可されません(错误# 18875137)。
ndb_restoreを使用して文字型またはバ@ @ナリ型から文本
または团
への変換を実行するときに,
という名前の1以上のステジングテブルが作成および使用されることに気付くことがあります。これらのテ,ブルはその後必要ではなくなるため,通常はリストアが成功したあとにndb_restoreによって削除されます。table_name
圣元node_id
コマンド行形式 | ——lossy-conversions |
---|---|
型 | ブル |
デフォルト | 假 (オプションを使用しない場合) |
このオプションは,——promote-attributes
オプションを補完することを意図しています。——lossy-conversions
を使用するときは,バックアップからデータをリストアするときにカラム値の不可逆変換(型降格または符号の変更)が許可されます。いくかの例外はありますが,降格を制御するルルはMySQLレプリケションの場合と同じです。属性降格によって現在サポトされる型変換にいては,セクション17.4.1.9.2 "デ、タ型が異なるカラムのレプリケ、ション"を参照してください。
ndb_restoreは,不可逆変換中に実行されるデ,タの切り捨てを属性およびカラムごとに報告します。
——preserve-trailing-spaces
オプション(短縮形:- r
)を使用すると,固定幅の文字デ,タ型を可変幅の同等の型に昇格するとき(字符
カラム値をVARCHAR
に,または二进制
カラム値をVARBINARY
に昇格するとき)に,末尾の空白が維持されます。それ以外の場合は,新しいカラムに挿入されるときに,末尾の空白はそのようなカラム値から削除されます。
字符
カラムをVARCHAR
に,および二进制
カラムをVARBINARY
に昇格することはできますが,VARCHAR
カラムを字符
に,またはVARBINARY
カラムを二进制
に昇格することはできません。
- b
オプションはバックアップのIDまたはシーケンス番号を指定するために使用し,バックアップ完了時に表示される“备份
メッセジで管理クラアントによって示される番号と同じ番号です。(セクション18.5.3.2“MySQL集群管理クライアントを使用したバックアップの作成”を参照してください)。backup_id
完成“
クラスタバックアップをリストアするときは,同じバックアップIDを持つバックアップからすべてのデータノードをリストアする必要があります。別のバックアップのファイルを使用すると,クラスタがリストアされたとしても不整合性な状態で,要するに失敗する可能性があります。
——restore_epoch
(短縮形:- e
)はエポック情報をクラスタレプリケーションステータステーブルに追加(またはリストア)します。これは,MySQL集群レプリケ,ションスレーブでレプリケーションを開始する場合に便利です。このオプションを使用すると、id
カラムが0
であるmysql.ndb_apply_status
内の行が更新されます(存在する場合)。存在しない場合はそのような行が挿入されます(セクション18.6.9“MySQL集群レプリケーションを使用したMySQL集群バックアップ”を参照してください)。
このオプションを指定すると,ndb_restoreがNDB
テ,ブルデ,タおよびログを出力します。
このオプションを指定すると,ndb_restoreがNDB
テ,ブルメタデ,タを出力します。通常,このオプションを使用する必要があるのは,クラスタの最初のデータノードをリストアする場合のみです。追加デ,タノ,ドは最初のものからメタデ,タを取得できます。
デフォルトでは,ndb_restoreは配布されたMySQL権限テブルをリストアしません。このオプションを指定すると,ndb_restoreが権限テ,ブルをリストアします。
これが動作するのは,バックアップが取得される前に,権限テ,ブルがNDB
に変換された場合のみです。詳細は,セクション18.5.14“MySQL集群の配布されたMySQL権限”を参照してください。
バックアップディレクトリへのパスが必要です。これは——backup_path
オプションを使用してndb_restoreに指定し,リストアするバックアップのバックアップIDに対応するサブディレクトリが含まれている必要があります。たとえば,デ,タノ,ドのDataDir
が/var/lib/mysql-cluster
である場合,バックアップディレクトリは/var/lib/mysql-cluster /备份
であり,id 3のバックアップのバックアップファescルは/var/lib/mysql-cluster /备份/ BACKUP-3
にあります。パスには,絶対パス,またはndb_restore実行可能ファesc escルがあるディレクトリからの相対パスを指定でき,必要に応じてbackup_path =
を前に付けることができます。
作成されたデ,タベ,スとは異なる構成のデ,タベ,スにバックアップをリストアできます。たとえば,ノ,ドid2
および3.
の2のデタベスノドがあるクラスタで作成されたバックアップid12
のバックアップを4ノ,ドのクラスタに復旧するとします。その場合は,ndb_restoreを2回実行する必要があります(バックアップを取得したクラスタのデータベースノードごとに1回)。ただし,ndb_restoreはあるバージョンのMySQLで実行されているクラスタから作成されたバックアップを,別のバージョンのMySQLで実行されているクラスタに常に復旧できるとはかぎりません。詳細は,セクション18.2.8“MySQL集群NDB 7.3のアップグレードとダウングレード”を参照してください。
新しいバ,ジョンのMySQL集群から作成したバックアップを古いバ,ジョンのndb_restoreを使用してリストアすることはできません。新しいバージョンのMySQLから作成したバックアップを古いクラスタにリストアすることはできますが,それを行うには新しいバージョンののMySQL集群ndb_restoreのコピ,を使用する必要があります。
たとえば,MySQL集群NDB 7.2.5を実行しているクラスタから取得したクラスタバックアップをMySQL集群NDB 7.1.21を実行しているクラスタにリストアするには,MySQL集群NDB 7.2.5配布に付属するndb_restoreを使用する必要があります。
リストアをより高速にするために,十分な数のクラスタ接続が使用できる場合は,データを並列でリストアできます。より正確に言うと,複数のノ,ドを並列でリストアする場合は,各並列ndb_restoreプロセスに使用できる(api)
または(mysqld)
セクションがクラスタconfig.ini
ファ@ @ルに存在する必要があります。ただし,データファイルは常にログの前に適用する必要があります。
ndb_restoreを使用してバックアップをリストアする場合,古い固定長形式を使用して作成されたVARCHAR
カラムは,現在採用されている可変幅形式を使用してサ。この動作は,ndb_restoreを実行するときに,——没有
オプション(短縮形:- u
)を使用してオ、バ、ラ、ドできます。
——print_data
オプションを指定すると,ndb_restoreが出力をstdout
にリダ@ @レクトします。
文本
および团
カラム値は常に切り捨てられます。MySQL集群NDB 7.3.7以前では,そのような値は出力で最初の240バイトに切り捨てられ,MySQL集群NDB 7.3.8以降では,256バイトに切り捨てられます(错误# 14571512,错误# 65467)。これは現在——print_data
を使用してもオバラドできません。
デ,タダンプをstdout
またはファ▪▪ルに生成する際に,いく▪▪かの追加オプションを——print_data
オプションとともに使用できます。これらは, mysqldumpで使用される一部のオプションに似ており,次のリストに示されています。
-
コマンド行形式 ——选项卡=路径
このオプションを使用すると,
——print_data
はテ,ブルごとに,それぞれ
という名前が付けられたダンプファ@ @ルを作成します。ファ@ @ルを保存すべきディレクトリへのパスを引数が必要です。現在のディレクトリの場合はtbl_name
. txt.
を使用します。 -
コマンド行形式 ——fields-enclosed-by =字符
型 文字列 デフォルト 各カラム値は,このオプションに渡された文字列によって囲まれます(デ,タ型は関係ありません。次の項目を参照してください)。
——fields-optionally-enclosed-by =
字符串
コマンド行形式 ——fields-optionally-enclosed-by
型 文字列 デフォルト このオプションに渡された文字列は,文字デ,タが含まれているカラム値(
字符
、VARCHAR
、二进制
、文本
、枚举
など)を囲むために使用されます。-
コマンド行形式 ——fields-terminated-by =字符
型 文字列 デフォルト \ t(选项卡)
このオプションに渡された文字列は,カラム値を区切るために使用されます。デフォルト値はタブ文字(
\ t
)です。 -
コマンド行形式 ——十六进制
このオプションを使用すると,すべてのバaaplナリ値は16進形式で出力されます。
-
コマンド行形式 ——fields-terminated-by =字符
型 文字列 デフォルト \ t(选项卡)
このオプションは,出力の各行を終了するために使用される文字列を指定します。デフォルトは改行文字(
\ n
)です。 -
コマンド行形式 ——附加
——选项卡
オプションおよび——print_data
オプションとともに使用した場合,同じ名前を持既存のファルにデタが付加されます。
テ,ブルに明示的な主キ,がない場合,——print_data
オプションを使用して生成される出力には,テ,ブルの隠し主キ,が含められます。
このオプションを指定すると,ndb_restoreがすべてのメタデ,タをstdout
に出力します。
——print_log
オプションを指定すると,ndb_restoreがログをstdout
に出力します。
ndb_restoreがすべてのデ,タ,メタデ,タ,およびログをstdout
に出力します。——print_data
、——print_meta
,および——print_log
オプションを一緒に使用することと同等です。
——打印
または——print_ *
オプションのいずれかを使用した場合は,仮実行をするときに有効になります。これらのオプションを1以上含めると,出力がstdout
にリダ@ @レクトされます。そのような場合,ndb_restoreはデ,タまたはメタデ,タをMySQL集群にリストアしようとしません。
通常,テ,ブルデ,タおよびメタデ,タをリストアするときに,ndb_restoreはバックアップに存在するNDB
システムテ,ブルのコピ,を無視します。——dont_ignore_systab_0
を指定すると,システムテ,ブルがリストアされます。このオプションは,実験および開発での使用のみが意図されており,本番環境には推奨されていません。
このオプションは,あるノードグループから取得されたバックアップを別のノードグループにリストアするために使用できます。引数は,
という形式のリストです。source_node_group
,target_node_group
このオプションは,接続されているSQLノ,ドがndb_restoreによってリストアされるデタをバナリログに書き込むことを阻止します。
このオプションを指定すると,ndb_restoreがMySQL集群ディスクデータオブジェクト(テーブルスペース,ログファイルグループなど)をリストアすることを阻止します。これらの詳細は,セクション18.5.12 " MySQL集群ディスクデ,タテ,ブル"を参照してください。
ndb_restoreが使用を試みることができる並列トランザクションの最大数を決定します。デフォルトでは,これは128 であり、最小値は 1、最大値は 1024 です。
バックアップの進行中に,ステ,タスレポ,トをN
秒ごとに出力します。0(デフォルト)を指定すると,ステータスレポートは出力されません。最大値は 65535 です。
出力の冗長性のレベルを設定します。最小値は0であり,最大値は255です。デフォルト値は1です。
次に示す構文を使用すると,選択したデータベースのみ,または単一データベースの選択したテーブルのみをリストアできます。
ndb_restoreother_optionsdb_name, (db_name[,……) |tbl_name[,tbl_name][…]]
言い換えると,次のいずれかをリストアすることを指定できます。
1 .
単一デタベスの1以上のテブル
コマンド行形式 | ——包括数据库= db-list |
---|---|
型 | 文字列 |
デフォルト |
|
——包括表格=
db_name.tbl_name
[,db_name.tbl_name
][……]
コマンド行形式 | ——包括表格=表 |
---|---|
型 | 文字列 |
デフォルト |
|
特定のデ,タベ,スまたはテ,ブルのみをリストアするには,——包括数据库
オプションまたは——包括表格
オプションをそれぞれ使用します。——包括数据库
は,リストアするデ,タベ,スのカンマ区切りリストを受け入れます。——包括表格
はリストアするテブルのカンマ区切りリスト(
という形式)を受け入れます。数据库
.表格
——包括数据库
または——包括表格
を使用すると,それらのオプションによって指定されたデータベースまたはテーブルのみがリストアされます。ほかのすべてのデ,タベ,スおよびテ,ブルはndb_restoreによって除外され,リストアされません。
次の表は,——包括:- *
オプション(必要となる可能性があるほかのオプションは,わかりやすくするために省略しています)を使用したndb_restoreのいくつかの呼び出し,およびMySQL集群バックアップからリストアする場合のそれらの効果を示しています。
使用するオプション | 結果 |
---|---|
——包括数据库= db1 |
デ,タベ,スdb1 内のテ,ブルのみがリストアされます。ほかのすべてのデ,タベ,ス内のすべてのテ,ブルは無視されます |
——包括数据库= db1、db2 (または)——包括数据库= db1 ——包括数据库= db2 ) |
デ,タベ,スdb1 およびdb2 内のテ,ブルのみがリストアされます。ほかのすべてのデ,タベ,ス内のすべてのテ,ブルは無視されます |
——包括表格= db1.t1 |
デ,タベ,スdb1 内のテ,ブルt1 のみがリストアされます。db1 またはその他のデ,タベ,ス内のほかのテ,ブルはリストアされません |
——包括表格= db1.t2 db2.t1 (または)——包括表格= db1.t2 ——包括表格= db2.t1 ) |
デ,タベ,スdb1 内のテ,ブルt2 およびデ,タベ,スdb2 内のテ,ブルt1 のみがリストアされます。db1 、db2 ,またはその他のデ,タベ,ス内のほかのテ,ブルはリストアされません |
これらの2のオプションは一緒に使用することもできます。たとえば,次の場合は,デ,タベ,スdb1
およびdb2
内のすべてのテ,ブルに加えて,デ,タベ,スdb4
内のテ,ブルt1
およびt2
がリストアされます(ほかのデ,タベ,スまたはテ,ブルはリストアされません)。
Shell > ndb_restore[…]——include-databases=db1,db2——include-tables=db3.t1,db3.t2
(この例でも,必要となる可能性があるほかのオプションを省略しています。)
——exclude-databases =
db_name
[,db_name
][……]
コマンド行形式 | ——exclude-databases = db-list |
---|---|
型 | 文字列 |
デフォルト |
|
——排除表=
db_name.tbl_name
[,db_name.tbl_name
][……]
コマンド行形式 | ——排除表=表 |
---|---|
型 | 文字列 |
デフォルト |
|
1 .,ndb_restoreの——exclude-databases
および——排除表
オプションを使用します。——exclude-databases
はリストアすべきでない1以上のデタベスのカンマ区切りリストを受け入れます。——排除表
はリストアすべきでない1以上のテブルのカンマ区切りリスト(
という形式を使用します)を受け入れます。数据库
.表格
——exclude-databases
または——排除表
を使用した場合は,これらのオプションによって指定されたデータベースまたはテーブルのみが除外されます。ほかのすべてのデ,タベ,スおよびテ,ブルはndb_restoreによってリストアされます。
次の表は,——排除- *
オプション(必要となる可能性があるほかのオプションは,わかりやすくするために省略しています)を使用したいくつかのndb_restore呼び出し,およびMySQL集群バックアップからリストアする場合にこれらのオプションが持つ効果を示しています。
使用するオプション | 結果 |
---|---|
——exclude-databases = db1 |
db1 を除くすべてのデ,タベ,ス内のすべてのテ,ブルがリストアされます。db1 内のテ,ブルはリストアされません |
——exclude-databases = db1、db2 (または)——exclude-databases = db1 ——exclude-databases = db2 ) |
db1 およびdb2 を除くすべてのデ,タベ,ス内のすべてのテ,ブルがリストアされます。db1 またはdb2 内のテ,ブルはリストアされません |
——排除表= db1.t1 |
デ,タベ,スdb1 内のt1 を除くすべてのテ,ブルがリストアされます。db1 内のほかのすべてのテ,ブルはリストアされます。ほかのすべてのデ,タベ,ス内のすべてのテ,ブルはリストアされます |
——排除表= db1.t2 db2.t1 (または)——排除表= db1.t2 ——排除表= db2.t1) |
デ,タベ,スdb1 内のt2 を除くすべてのテ,ブル,およびデ,タベ,スdb2 内のt1 を除くすべてのテ,ブルがリストアされます。db1 またはdb2 内のほかのテ,ブルはリストアされません。ほかのすべてのデ,タベ,ス内のすべてのテ,ブルはリストアされます |
これらの2のオプションは一緒に使用できます。たとえば,次の場合は,デ,タベ,スdb1
とdb2
,およびデ,タベ,スdb4
内のテ,ブルt1
とt2
を除くすべてのデ,タベ,ス内のすべてのテ,ブルがリストアされません。
Shell > ndb_restore[…]——exclude-databases=db1,db2——exclude-tables=db3.t1,db3.t2
(この例でも,わかりやすく簡潔にするために,必要となる可能性があるほかのオプションを省略しています)。
——包括:- *
オプションおよび——排除- *
オプションは,次のル,ルに従って一緒に使用できます。
すべての
——包括:- *
および——排除- *
オプションのアクションは累積されます。すべての
——包括:- *
および——排除- *
オプションは,ndb_restoreに渡された順序で右から左に評価されます。競合するオプションがある場合は,最初(もっとも右側)のオプションが優先されます。言い換えると,対象となるデータベースまたはテーブルと一致する最初のオプション(右から左に適用して)が「適用されます」。
たとえば,次の一連のオプションを指定すると,ndb_restoreがデ,タベ,スdb1
のdb1.t1
を除くすべてのテ,ブルをリストアし,ほかのデ,タベ,スのほかのテ,ブルはリストアしません。
——包括数据库= db1排除表= db1.t1
ただし,前述のオプションの順序を逆にすると,デ,タベ,スdb1
のすべてのテブルがリストアされます(db1.t1
は含まれますが,ほかのデ,タベ,スのテ,ブルは含まれません)。これは,もっとも右にある——包括数据库
オプションがデ,タベ,スdb1
に対して最初に一致し,db1
またはdb1
内のテ,ブルと一致するその他のオプションより優先されるためです。
——排除表= db1.t1——包括数据库= db1
コマンド行形式 | ——exclude-missing-columns |
---|
——exclude-missing-columns
オプションを使用すると,選択したテ,ブルカラムのみをリストアすることもできます。このオプションを使用するときは,ndb_restoreは,バックアップで見つかったテーブルのバージョンと比較して,リストアされるテーブルで欠けているカラムを無視します。このオプションはリストアされるすべてのテ,ブルに適用されます。選択したテーブルまたはデータベースのみにこのオプションを適用したい場合は,それを実行する際に前の段落で説明したオプションの1つ以上を組み合わせて使用できます。。
コマンド行形式 | ——exclude-missing-tables |
---|---|
導入 | 5.6.21-ndb-7.3.7 |
MySQL集群NDB 7.3.7以降では,このオプションを使用して選択したテーブルカラムのみをリストアすることもでき,その場合,ndb_restoreはバックアップからタ,ゲットデ,タベ,スにないテ,ブルを無視します。
コマンド行形式 | ——disable-indexes |
---|
ネaapl . exe NDBバックアップからのデ。タのリストア中に,aapl . exe NDBバックアップからのデ。あとで,——rebuild-indexes
を使用してマルチスレッドでインデックスを構築すること,ですべてのテーブルのインデックスを一度にリストアできます。非常に大きいテブルの場合には,ンデックスを同時に再構築するよりもこの方が速いはずです。
コマンド行形式 | ——rebuild-indexes |
---|
ndb_restoreでこのオプションを使用すると,ネNDB
バックアップのリストア中に,順序付けされた。このオプション付きのndb_restoreで順序付けされた电子邮箱ンデックスを構築するために使用されるスレッドの数は,BuildIndexThreads
デ,タノ,ド構成パラメ,タによって制御されます。
このオプションを使用する必要があるのは,ndb_restoreの最初の実行の場合のみです。これにより,以降のノ,ドをリストアするときに——rebuild-indexes
をふたたび使用しなくても,すべての順序付けられた。このオプションはデ,タベ,スに新しい行を挿入する前に使用してください。そうしないと,インデックスを再構築しようとするときに,挿入される行があとで一意制約違反になることがあります。
一意インデックスの再構築では,重做ロギングおよびローカルチェックポイント処理のディスク書き込み帯域幅が使用されます。この帯域幅が十分ではない場合,重做バッファーオーバーロードエラーまたはログオーバーロードエラーになることがあります。そのような場合は,ndb_restore——rebuild-indexes
を再度実行できます。この処理はエラ,が発生した箇所から再開されます。これは,一時エラーが発生したときにも行うことができます。ndb_restore——rebuild-indexes
の実行は無限に繰り返すことができます。DiskCheckpointSpeed
の値を減らして重做ロギングに追加のディスク帯域幅を与えることによって,そのようなエラーを停止できることがあります。
コマンド行形式 | ——skip-broken-objects |
---|
このオプションを指定すると,ndb_restoreがネ@ @ティブNDB
バックアップを読み取るときに破損しているテーブルを無視して,残りのテーブル(破損していない)のリストアを続行します。現在のところ,——skip-broken-objects
オプションはblobパテブルが欠けている場合にのみ機能します。
コマンド行形式 | ——skip-unknown-objects |
---|
このオプションを指定すると,ndb_restoreがネ@ @ティブNDB
バックアップを読み取るときに,認識されないスキ,マオブジェクトを無視します。これは,MySQL Cluster NDB 7.3 を実行しているクラスタから作成されたバックアップを MySQL Cluster NDB 7.2 を実行しているクラスタにリストアするために使用できます。
——rewrite-database =
old_dbname
,new_dbname
コマンド行形式 | ——rewrite-database = olddb newdb |
---|---|
型 | 文字列 |
デフォルト | 没有一个 |
このオプションを指定すると,バックアップに使用された名前と異なる名前を持つデータベースにリストアできます。たとえば,バックアップが产品
という名前のデータベースから作成された場合は,このオプションを次のように使用して(必要となる可能性があるほかのオプションを省略しています),含まれているデータを库存
という名前のデ,タベ,スにリストアできます。
Shell > ndb_restore——重写database=product,inventory
このオプションは,ndb_restoreの単一呼び出しで複数回指定できます。このため,——db2 rewrite-database = db1——rewrite-database = db4 db4
を使用して,db1
という名前のデ,タベ,スからdb2
という名前のデ,タベ,スに,およびdb4
という名前のデ,タベ,スからdb4
という名前のデ,タベ,スに同時にリストアできます。複数の——rewrite-database
発生箇所の間にほかのndb_restoreオプションを指定できます。
複数の——rewrite-database
オプションで競合が発生した場合は,左から右に読んで最後に使用されている——rewrite-database
オプションが有効となります。たとえば,——db2 rewrite-database = db1——rewrite-database = db1 db4
が使用された場合,——rewrite-database = db1 db4
のみが有効となり,——rewrite-database = db1、db2
は無視されます。複数のデ,タベ,スから単一データベースにリストアすることもできるため、——db4 rewrite-database = db1——rewrite-database = db2 db4
を指定すると,デ,タベ,スdb1
およびdb2
のすべてのテ,ブルおよびデ,タがデ,タベ,スdb4
にリストアされます。
——rewrite-database
を使用して複数のバックアップデータベースから単一ターゲットデータベースにリストアする場合,テーブル名またはその他のオブジェクト名間の競合はチェックされず,行がリストアされる順序は保証されません。これは,そのような場合に行が上書きされて更新が失われることがあることを意味します。
——exclude-intermediate-sql-tables(=真|假)
コマンド行形式 | ——exclude-intermediate-sql-tables(=真|假) |
---|---|
導入 | 5.6.17-ndb-7.3.6 |
型 | ブル |
デフォルト | 真正的 |
ALTER TABLE
のコピ,操作を実行するときに,mysqldは中間テ,ブルを作成します(名前の前に# sql -
が付けられます)。真正的
を指定すると,——exclude-intermediate-sql-tables
オプションによって,ndb_restoreがそのような操作で残された可能性があるテ,ブルをリストアしなくなります。このオプションはデフォルトでは真正的
です。
——exclude-intermediate-sql-tables
オプションはMySQL集群NDB 7.3.6で導入されました。(错误# 17882305)
エラ,報告ndb_restoreは一時的および永続的エラ,の両方を報告します。一時エラ,の場合は,それらからリカバリできる場合があり,そのようなときには"恢复成功,但遇到临时错误,请查看配置"
と報告されます。
ndb_restoreを使用して循環レプリケーションに使用するためにMySQL集群を初期化したあとに,レプリケーションスレーブとして動作するSQLノード上のバイナリログは自動的に作成されないため,それらを作成させるように手動で操作する必要があります。バ电子邮箱ナリログを作成させるには,开始的奴隶
を実行する前に,そのSQLノ,ドで显示表
ステ,トメントを発行します。これはMySQL Cluster の既知の問題です。