Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  ...  /  ndb_blob_tool — NDB Cluster テーブルの BLOB および TEXT カラムのチェックおよび修復

このページは機械翻訳したものです。

23.4.6 ndb_blob_tool — NDB Cluster テーブルの BLOB および TEXT カラムのチェックおよび修復

このツールは、孤立した BLOB カラムパーツをチェックして NDB テーブルから削除するため、および孤立したパーツを一覧したファイルを生成するために使用できます。 これは、BLOB または TEXT カラムが含まれている破損または損傷した NDB テーブルを診断および修復する場合に役に立つことがあります。

ndb_blob_tool の基本的な構文を次に示します。

ndb_blob_tool [options] table [column, ...]

--help オプションを使用する場合を除き、1 つ以上のオプション (--check-orphans--delete-orphans、または --dump-file) を含めることによって、実行するアクションを指定する必要があります。 これらのオプションを指定すると、ndb_blob_tool がそれぞれ孤立した BLOB パーツをチェックしたり、孤立した BLOB パーツを削除したり、孤立した BLOB パーツを一覧するダンプファイルを生成したりします。これについての詳細は、このセクションで後述します。

ndb_blob_tool を呼び出すときは、テーブルの名前も指定する必要があります。 また、必要に応じて、テーブル名の後ろに、(カンマで区切った) そのテーブルの 1 つ以上の BLOB または TEXT カラムの名前を続けることができます。 カラムをリストしない場合、このツールはテーブルのすべての BLOB および TEXT カラムを処理します。 データベースを指定する必要がある場合は、--database (-d) オプションを使用します。

--verbose オプションは、ツールの進行状況に関する追加の情報を出力します。

次の表には、ndb_blob_tool に固有のオプションが含まれています。 追加説明が表のあとにあります。 ほとんどの NDB Cluster プログラム (ndb_blob_tool を含む) に共通のオプションについては、セクション23.4.32「NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション」 を参照してください。

表 23.28 プログラムで使用されるコマンドライン・オプション ndb_blob_tool

形式 説明 追加、非推奨、または削除された

--add-missing

欠落しているものを実行するダミー BLOB パーツを書き込みます

追加: NDB 8.0.20

--check-missing

インラインパーツを持つがパーツテーブルに 1 つまたは複数のパーツがない BLOB をチェック

追加: NDB 8.0.20

--check-orphans

対応するインラインパーツがない BLOB パーツをチェック

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--database=db_name,

-d

テーブルを探すデータベース

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--delete-orphans

対応するインラインパーツがない BLOB パーツの削除

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--dump-file=file

指定したファイルに孤立したキーを書き込みます

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--verbose,

-v

冗長出力

(MySQLに基づくすべてのNDBリリースでサポート 8.0)


  • --add-missing

    コマンド行形式 --add-missing
    導入 8.0.20-ndb-8.0.20
    Boolean
    デフォルト値 FALSE

    対応する BLOB 部分がない「NDB Cluster」テーブルのインライン部分ごとに、空白で構成される必要な長さのダミー BLOB 部分を記述します。

  • --check-missing

    コマンド行形式 --check-missing
    導入 8.0.20-ndb-8.0.20
    Boolean
    デフォルト値 FALSE

    対応する BLOB 部分がない「NDB Cluster」テーブルのインライン部分を確認します。

  • --check-orphans

    コマンド行形式 --check-orphans
    Boolean
    デフォルト値 FALSE

    対応するインライン部分がない「NDB Cluster」テーブルの BLOB 部分を確認します。

  • --database=db_name, -d

    コマンド行形式 --database=db_name
    文字列
    デフォルト値 [none]

    テーブルを探すデータベースを指定します。

  • --delete-orphans

    コマンド行形式 --delete-orphans
    Boolean
    デフォルト値 FALSE

    対応するインライン部分がない BLOB 部分を「NDB Cluster」テーブルから削除します。

  • --dump-file=file

    コマンド行形式 --dump-file=file
    ファイル名
    デフォルト値 [none]

    孤立した BLOB カラムパーツのリストを file に書き込みます。 ファイルに書き込まれる情報には、各孤立した BLOB パーツのテーブルキーおよび BLOB パーツ番号が含まれます。

  • --verbose

    コマンド行形式 --verbose
    Boolean
    デフォルト値 FALSE

    進行状況に関する追加情報をツールの出力に書き込みます。

最初に、次に示す CREATE TABLE ステートメントを使用して、test データベースに NDB テーブルを作成します。

USE test;

CREATE TABLE btest (
    c0 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    c1 TEXT,
    c2 BLOB
)   ENGINE=NDB;

その後、これに似た一連のステートメントを使用して、このテーブルにいくつかの行を挿入します。

INSERT INTO btest VALUES (NULL, 'x', REPEAT('x', 1000));

このテーブルに対して --check-orphans を指定して ndb_blob_tool を実行すると、次の出力が生成されます。

shell> ndb_blob_tool --check-orphans --verbose -d test btest
connected
processing 2 blobs
processing blob #0 c1 NDB$BLOB_19_1
NDB$BLOB_19_1: nextResult: res=1
total parts: 0
orphan parts: 0
processing blob #1 c2 NDB$BLOB_19_2
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=1
total parts: 10
orphan parts: 0
disconnected

NDBT_ProgramExit: 0 - OK

c1TEXT カラムですが、カラム c1 に関連付けられている NDB BLOB カラムパーツはないことをこのツールは報告しています。 これは、NDB テーブルでは、BLOB または TEXT カラム値の最初の 256 バイトのみがインラインで格納され、それを超過する部分 (ある場合) のみが別個に格納されるためです。したがって、これらのタイプのいずれかのカラムに 256 バイトを超える値がない場合、このカラムの BLOB カラムパーツは NDB によって作成されません。 詳細は、セクション11.7「データ型のストレージ要件」を参照してください。