10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册

18.4.20ndb_restore—MySQL集群バックアップのリストア

クラスタリストアプログラムは,別個のコマンド行ユ,ティリティ,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プログラムのコマンド行オプションについて説明しています

形式 説明 追加または削除

——连接

- c

——connectstringのエリアス。

すべてのMySQL 5.6ベスリリス

——nodeid = #

- n

このidのノドからファルをバックアップします

すべてのMySQL 5.6ベスリリス

——backupid = #

- b

指定されたidのバックアップからリストアします

すべてのMySQL 5.6ベスリリス

——restore_data

- r

NDB接口を使用してテ,ブルデ,タおよびログをNDB集群にリストアします

すべてのMySQL 5.6ベスリリス

——restore_meta

- m

NDB接口を使用してメタデ,タをNDB集群にリストアします

すべてのMySQL 5.6ベスリリス

——没有

- u

VARデータがまだサイズ変更されていない可変サイズ属性の配列タイプをアップグレードせず,カラム属性を変更しません

すべてのMySQL 5.6ベスリリス

——promote-attributes

——一个

バックアップからデ,タをリストアするときに,属性の昇格を許可します

すべてのMySQL 5.6ベスリリス

——preserve-trailing-spaces

- p

固定幅文字列型を可変幅型に昇格するときに,末尾の空白(パディングを含む)を維持することを許可します

すべてのMySQL 5.6ベスリリス

——no-restore-disk-objects

- d

ディスクデ,タに関連するオブジェクトをリストアしません

すべてのMySQL 5.6ベスリリス

——restore_epoch

- e

エポック情報をステ,タステ,ブルにリストアします。MySQL集群レプリケ,ションスレーブでレプリケーションを開始する場合に便利です。mysql.ndb_apply_status の ID 0 の行が更新/挿入されます。

すべてのMySQL 5.6ベスリリス

——skip-table-check

- s

デ,タのリストア中に,テ,ブル構造チェックをスキップします

すべてのMySQL 5.6ベスリリス

——并行= #

- p

デ,タのリストア中に使用する並列トランザクションの数

すべてのMySQL 5.6ベスリリス

——打印

メタデータ,データ,およびログをstdoutに出力します(——print_meta print_data——print_logと同等です)

すべてのMySQL 5.6ベスリリス

——print_meta

メタデ,タをstdoutに出力します

すべてのMySQL 5.6ベスリリス

——print_data

デ,タをstdoutに出力します

すべてのMySQL 5.6ベスリリス

——print_log

Stdoutに出力します

すべてのMySQL 5.6ベスリリス

——backup_path =路径

バックアップファ@ @ルディレクトリへのパス

すべてのMySQL 5.6ベスリリス

——dont_ignore_systab_0

- f

リストア中にシステムテ,ブルを無視しません。実験用であり,本番で使用するためのものではありません

すべてのMySQL 5.6ベスリリス

——ndb-nodegroup-map =地图

- z

Ndbclusterストレ,ジエンジンのためのノ,ドグル,プマップ。構文:(source_nodegroup, destination_nodegroup)のリスト

すべてのMySQL 5.6ベスリリス

——fields-enclosed-by =字符

フィ,ルドが指定された文字で囲まれます

すべてのMySQL 5.6ベスリリス

——fields-terminated-by =字符

フィ,ルドが指定された文字で終了します

すべてのMySQL 5.6ベスリリス

——fields-optionally-enclosed-by

フィ,ルドは,必要に応じて指定された文字で囲まれます

すべてのMySQL 5.6ベスリリス

——lines-terminated-by =字符

指定された文字で行が終了します

すべてのMySQL 5.6ベスリリス

——十六进制

バ▪▪ナリタ▪▪プを16進形式で出力します

すべてのMySQL 5.6ベスリリス

——选项卡=路径

- t

指定されたパス内の各テブルの,タブ区切りの.txtファルを作成します

すべてのMySQL 5.6ベスリリス

——附加

タブ区切りのファ▪▪ルにデ▪▪タを追加します

すべてのMySQL 5.6ベスリリス

——progress-frequency = #

指定された秒数おきに,リストアのステ,タスを出力します

すべてのMySQL 5.6ベスリリス

——no-binlog

mysqldが接続されていて,バイナリロギングを使用している場合,リストアされたデータのログを記録しません

すべてのMySQL 5.6ベスリリス

——verbose = #

出力の冗長性レベル

すべてのMySQL 5.6ベスリリス

——包括数据库= db-list

1 ()

すべてのMySQL 5.6ベスリリス

——exclude-databases = db-list

1 ()

すべてのMySQL 5.6ベスリリス

——包括表格=表

リストアする1つ以上のテーブルのリスト(同じデータベース内の指定されていないものを除外します)。各テ,ブル参照にはデ,タベ,ス名が含まれている必要があります

すべてのMySQL 5.6ベスリリス

——排除表=表

除外する1以上のテブルのリスト()。各テ,ブル参照にはデ,タベ,ス名が含まれている必要があります

すべてのMySQL 5.6ベスリリス

——exclude-missing-columns

バックアップバージョンのテーブルから,データベース内のバージョンのテーブルにないカラムが無視されます。

すべてのMySQL 5.6ベスリリス

——exclude-missing-tables

バックアップから,デ,タベ,スにないテ,ブルが無視されます。

追加:NDB 7.3.7

——disable-indexes

バックアップ内の@ @ンデックスが無視されます。デ,タのリストアに必要となる時間が短くなることがあります。

すべてのMySQL 5.6ベスリリス

——rebuild-indexes

バックアップで見かった順序付けされたンデックスをマルチスレッドで再構築します。使用されるスレッド数は,BuildIndexThreadsパラメータを設定することによって決定されます。

すべてのMySQL 5.6ベスリリス

——skip-broken-objects

バックアップファル内で欠けているblobテブルが無視されます。

すべてのMySQL 5.6ベスリリス

——skip-unknown-objects

新しいバージョンのMySQL集群から作成されたバックアップを古いバージョンにリストアするときに,ndb_restoreによって認識されないスキーマオブジェクトが無視されます。

すべてのMySQL 5.6ベスリリス

——rewrite-database = olddb newdb

元の名前と異なる名前のデ,タベ,スにリストアします

すべてのMySQL 5.6ベスリリス

——lossy-conversions

- l

バックアップからデータをリストアするときに,カラム値の不可逆変換(型の昇格または符号の変更)を許可します

すべてのMySQL 5.6ベスリリス

——restore-privilege-tables

以前NDBに移動されたMySQL権限テ,ブルをリストアします。

すべてのMySQL 5.6ベスリリス

——exclude-intermediate-sql-tables(=真|假)

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_restorelocalhost: 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による属性昇格は,次のように明示的に有効にする必要があります。

  1. バックアップをリストアするテ,ブルを準備します。ndb_restoreを使用してオリジナルと異なる定義でテ,ブルを再作成することはできません。これは,テーブルを手動で作成するか、またはテーブルメタデータをリストアしたあとかつデータをリストアする前に昇格するカラムをALTER TABLEを使用して変更する必要があることを意味します。

  2. テ,ブルデ,タをリストアするときに,——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を使用して文字型またはバ@ @ナリ型から文本またはへの変換を実行するときに,table_name圣元node_idという名前の1以上のステジングテブルが作成および使用されることに気付くことがあります。これらのテ,ブルはその後必要ではなくなるため,通常はリストアが成功したあとにndb_restoreによって削除されます。

——lossy-conversions- l

コマンド行形式 ——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またはシーケンス番号を指定するために使用し,バックアップ完了時に表示される“备份backup_id完成“メッセジで管理クラアントによって示される番号と同じ番号です。(セクション18.5.3.2“MySQL集群管理クライアントを使用したバックアップの作成”を参照してください)。

重要

クラスタバックアップをリストアするときは,同じバックアップIDを持つバックアップからすべてのデータノードをリストアする必要があります。別のバックアップのファイルを使用すると,クラスタがリストアされたとしても不整合性な状態で,要するに失敗する可能性があります。

——restore_epoch(短縮形:- e)はエポック情報をクラスタレプリケーションステータステーブルに追加(またはリストア)します。これは,MySQL集群レプリケ,ションスレーブでレプリケーションを開始する場合に便利です。このオプションを使用すると、idカラムが0であるmysql.ndb_apply_status内の行が更新されます(存在する場合)。存在しない場合はそのような行が挿入されます(セクション18.6.9“MySQL集群レプリケーションを使用したMySQL集群バックアップ”を参照してください)。

——restore_data

このオプションを指定すると,ndb_restoreNDBテ,ブルデ,タおよびログを出力します。

——restore_meta

このオプションを指定すると,ndb_restoreNDBテ,ブルメタデ,タを出力します。通常,このオプションを使用する必要があるのは,クラスタの最初のデータノードをリストアする場合のみです。追加デ,タノ,ドは最初のものからメタデ,タを取得できます。

——restore-privilege-tables

デフォルトでは,ndb_restoreは配布されたMySQL権限テブルをリストアしません。このオプションを指定すると,ndb_restoreが権限テ,ブルをリストアします。

これが動作するのは,バックアップが取得される前に,権限テ,ブルがNDBに変換された場合のみです。詳細は,セクション18.5.14“MySQL集群の配布されたMySQL権限”を参照してください。

——backup_path

バックアップディレクトリへのパスが必要です。これは——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

——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で使用される一部のオプションに似ており,次のリストに示されています。

  • ——选项卡- t

    コマンド行形式 ——选项卡=路径

    このオプションを使用すると,——print_dataはテ,ブルごとに,それぞれtbl_name. txtという名前が付けられたダンプファ@ @ルを作成します。ファ@ @ルを保存すべきディレクトリへのパスを引数が必要です。現在のディレクトリの場合はを使用します。

  • ——fields-enclosed-by =字符串

    コマンド行形式 ——fields-enclosed-by =字符
    文字列
    デフォルト

    各カラム値は,このオプションに渡された文字列によって囲まれます(デ,タ型は関係ありません。次の項目を参照してください)。

  • ——fields-optionally-enclosed-by =字符串

    コマンド行形式 ——fields-optionally-enclosed-by
    文字列
    デフォルト

    このオプションに渡された文字列は,文字デ,タが含まれているカラム値(字符VARCHAR二进制文本枚举など)を囲むために使用されます。

  • ——fields-terminated-by =字符串

    コマンド行形式 ——fields-terminated-by =字符
    文字列
    デフォルト \ t(选项卡)

    このオプションに渡された文字列は,カラム値を区切るために使用されます。デフォルト値はタブ文字(\ t)です。

  • ——十六进制

    コマンド行形式 ——十六进制

    このオプションを使用すると,すべてのバaaplナリ値は16進形式で出力されます。

  • ——fields-terminated-by =字符串

    コマンド行形式 ——fields-terminated-by =字符
    文字列
    デフォルト \ t(选项卡)

    このオプションは,出力の各行を終了するために使用される文字列を指定します。デフォルトは改行文字(\ n)です。

  • ——附加

    コマンド行形式 ——附加

    ——选项卡オプションおよび——print_dataオプションとともに使用した場合,同じ名前を持既存のファルにデタが付加されます。

注記

テ,ブルに明示的な主キ,がない場合,——print_dataオプションを使用して生成される出力には,テ,ブルの隠し主キ,が含められます。

——print_meta

このオプションを指定すると,ndb_restoreがすべてのメタデ,タをstdoutに出力します。

——print_log

——print_logオプションを指定すると,ndb_restoreがログをstdoutに出力します。

——打印

ndb_restoreがすべてのデ,タ,メタデ,タ,およびログをstdoutに出力します。——print_data——print_meta,および——print_logオプションを一緒に使用することと同等です。

注記

——打印または——print_ *オプションのいずれかを使用した場合は,仮実行をするときに有効になります。これらのオプションを1以上含めると,出力がstdoutにリダ@ @レクトされます。そのような場合,ndb_restoreはデ,タまたはメタデ,タをMySQL集群にリストアしようとしません。

——dont_ignore_systab_0

通常,テ,ブルデ,タおよびメタデ,タをリストアするときに,ndb_restoreはバックアップに存在するNDBシステムテ,ブルのコピ,を無視します。——dont_ignore_systab_0を指定すると,システムテ,ブルがリストアされます。このオプションは,実験および開発での使用のみが意図されており,本番環境には推奨されていません

——ndb-nodegroup-map- z

このオプションは,あるノードグループから取得されたバックアップを別のノードグループにリストアするために使用できます。引数は,source_node_grouptarget_node_groupという形式のリストです。

——no-binlog

このオプションは,接続されているSQLノ,ドがndb_restoreによってリストアされるデタをバナリログに書き込むことを阻止します。

——no-restore-disk-objects- d

このオプションを指定すると,ndb_restoreがMySQL集群ディスクデータオブジェクト(テーブルスペース,ログファイルグループなど)をリストアすることを阻止します。これらの詳細は,セクション18.5.12 " MySQL集群ディスクデ,タテ,ブル"を参照してください。

——并行= #- p

ndb_restoreが使用を試みることができる並列トランザクションの最大数を決定します。デフォルトでは,これは128 であり、最小値は 1、最大値は 1024 です。

——progress-frequency =N

バックアップの進行中に,ステ,タスレポ,トをN秒ごとに出力します。0(デフォルト)を指定すると,ステータスレポートは出力されません。最大値は 65535 です。

——verbose = #

出力の冗長性のレベルを設定します。最小値は0であり,最大値は255です。デフォルト値は1です。

次に示す構文を使用すると,選択したデータベースのみ,または単一データベースの選択したテーブルのみをリストアできます。

ndb_restoreother_optionsdb_name, (db_name[,……) |tbl_name[,tbl_name][…]]

言い換えると,次のいずれかをリストアすることを指定できます。

  • 1 .

  • 単一デタベスの1以上のテブル

——包括数据库=db_name[,db_name][……]

コマンド行形式 ——包括数据库= 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のみがリストアされます。db1db2,またはその他のデ,タベ,ス内のほかのテ,ブルはリストアされません

これらの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のオプションは一緒に使用できます。たとえば,次の場合は,デ,タベ,スdb1db2,およびデ,タベ,スdb4内のテ,ブルt1t2除くすべてのデ,タベ,ス内のすべてのテ,ブルがリストアされません

Shell > ndb_restore[…]——exclude-databases=db1,db2——exclude-tables=db3.t1,db3.t2

(この例でも,わかりやすく簡潔にするために,必要となる可能性があるほかのオプションを省略しています)。

——包括:- *オプションおよび——排除- *オプションは,次のル,ルに従って一緒に使用できます。

  • すべての——包括:- *および——排除- *オプションのアクションは累積されます。

  • すべての——包括:- *および——排除- *オプションは,ndb_restoreに渡された順序で右から左に評価されます。

  • 競合するオプションがある場合は,最初(もっとも右側)のオプションが優先されます。言い換えると,対象となるデータベースまたはテーブルと一致する最初のオプション(右から左に適用して)が適用されます

たとえば,次の一連のオプションを指定すると,ndb_restoreがデ,タベ,スdb1db1.t1を除くすべてのテ,ブルをリストアし,ほかのデ,タベ,スのほかのテ,ブルはリストアしません。

——包括数据库= db1排除表= db1.t1

ただし,前述のオプションの順序を逆にすると,デ,タベ,スdb1のすべてのテブルがリストアされます(db1.t1は含まれますが,ほかのデ,タベ,スのテ,ブルは含まれません)。これは,もっとも右にある——包括数据库オプションがデ,タベ,スdb1に対して最初に一致し,db1またはdb1内のテ,ブルと一致するその他のオプションより優先されるためです。

——排除表= db1.t1——包括数据库= db1

——exclude-missing-columns

コマンド行形式 ——exclude-missing-columns

——exclude-missing-columnsオプションを使用すると,選択したテ,ブルカラムのみをリストアすることもできます。このオプションを使用するときは,ndb_restoreは,バックアップで見つかったテーブルのバージョンと比較して,リストアされるテーブルで欠けているカラムを無視します。このオプションはリストアされるすべてのテ,ブルに適用されます。選択したテーブルまたはデータベースのみにこのオプションを適用したい場合は,それを実行する際に前の段落で説明したオプションの1つ以上を組み合わせて使用できます。。

——exclude-missing-tables

コマンド行形式 ——exclude-missing-tables
導入 5.6.21-ndb-7.3.7

MySQL集群NDB 7.3.7以降では,このオプションを使用して選択したテーブルカラムのみをリストアすることもでき,その場合,ndb_restoreはバックアップからタ,ゲットデ,タベ,スにないテ,ブルを無視します。

——disable-indexes

コマンド行形式 ——disable-indexes

ネaapl . exe NDBバックアップからのデ。タのリストア中に,aapl . exe NDBバックアップからのデ。あとで,——rebuild-indexesを使用してマルチスレッドでインデックスを構築すること,ですべてのテーブルのインデックスを一度にリストアできます。非常に大きいテブルの場合には,ンデックスを同時に再構築するよりもこの方が速いはずです。

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

コマンド行形式 ——skip-broken-objects

このオプションを指定すると,ndb_restoreがネ@ @ティブNDBバックアップを読み取るときに破損しているテーブルを無視して,残りのテーブル(破損していない)のリストアを続行します。現在のところ,——skip-broken-objectsオプションはblobパテブルが欠けている場合にのみ機能します。

——skip-unknown-objects

コマンド行形式 ——skip-unknown-objects

このオプションを指定すると,ndb_restoreがネ@ @ティブNDBバックアップを読み取るときに,認識されないスキ,マオブジェクトを無視します。これは,MySQL Cluster NDB 7.3 を実行しているクラスタから作成されたバックアップを MySQL Cluster NDB 7.2 を実行しているクラスタにリストアするために使用できます。

——rewrite-database =old_dbnamenew_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 の既知の問題です。