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


MySQL 8.0 リファレンスマニュアル  /  ...  /  ndb_size.pl — NDBCLUSTER サイズ要件エスティメータ

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

23.4.28 ndb_size.pl — NDBCLUSTER サイズ要件エスティメータ

これは、NDBCLUSTER ストレージエンジンを使用するように変更された場合に、MySQL データベースによって要求される空き領域の大きさを見積もるために使用できる Perl スクリプトです。 このセクションで説明するほかのユーティリティーとは異なり、NDB Cluster にアクセスする必要はありません (実際には、これを行う理由はありません)。 ただし、テストするデータベースがある MySQL サーバーにアクセスする必要はあります。

要件

  • 実行されている MySQL サーバー。 サーバーインスタンスは NDB Cluster をサポートする必要はありません。

  • Perl の有効なインストール。

  • DBI モジュール (まだ Perl インストールの一部でない場合は、CPAN から取得できます) (多くの Linux およびその他のオペレーティングシステム配布では、このライブラリの独自のパッケージが提供されています)。

  • 必要な権限を持つ MySQL ユーザーアカウント。 既存のアカウントを使用したくない場合は、GRANT USAGE ON db_name.* を使用して作成するだけでこの用途には十分です。ここで、db_name は検査するデータベースの名前です。

ndb_size.pl は、storage/ndb/tools 内の MySQL ソースでも見つかります。

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

表 23.47 プログラムで使用されるコマンドライン・オプション ndb_size.pl

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

--database=dbname

検査するデータベース。カンマ区切りのリスト。デフォルトは ALL (サーバー上のすべてのデータベースを使用) です

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

--hostname[:port]

ホストおよびオプションポートを host[:port] として指定します

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

--socket=file_name

接続先のソケットの指定

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

--user=string

MySQL ユーザー名の指定

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

--password=string

MySQL ユーザーパスワードの指定

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

--format=string

出力形式 (テキストまたは HTML) を設定します

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

--excludetables=tbl_list

カンマ区切りリストのテーブルをスキップ

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

--excludedbs=db_list

カンマ区切りリストのデータベースをスキップ

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

--savequeries=file

指定したファイルにデータベースのすべてのクエリーを保存

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

--loadqueries=file

指定されたファイルからすべてのクエリーをロードします。データベースには接続しません

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

--real_table_name=table

一意のインデックスサイズ計算を処理するテーブルを指定

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

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

使用法

Press CTRL+C to copy
perl ndb_size.pl [--database={db_name|ALL}] [--hostname=host[:port]] [--socket=socket] \ [--user=user] [--password=password] \ [--help|-h] [--format={html|text}] \ [--loadqueries=file_name] [--savequeries=file_name]

デフォルトでは、このユーティリティーはサーバー上のすべてのデータベースを分析しようとします。 --database オプションを使用すると、単一データベースを指定できます。デフォルト動作を明示的に指定するには、データベースの名前に ALL を使用します。 1 つ以上のデータベースを除外するには、--excludedbs オプションを使用して、スキップするデータベース名のカンマ区切りのリストを指定します。 同様に、特定のテーブルをスキップするには、オプションの --excludetables オプションに続けて、それらの名前をカンマで区切ってリストします。 ホスト名を指定するには、--hostname を使用します。デフォルトは localhost です。 ホストに加えてポートを指定するには、--hostname の値に host:port 形式を使用します。 デフォルトのポート番号は 3306 です。 必要に応じて、ソケットも指定できます。デフォルトは /var/lib/mysql.sock です。 MySQL のユーザー名およびパスワードは、表示されている対応するオプションで指定できます。 出力の形式を制御するには、--format オプションを使用します。これには、値 html または text を指定でき、text がデフォルトです。 テキスト出力の例を次に示します。

Press CTRL+C to copy
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock ndb_size.pl report for database: 'test' (1 tables) -------------------------------------------------- Connected to: DBI:mysql:host=localhost;mysql_socket=/tmp/mysql.sock Including information for versions: 4.1, 5.0, 5.1 test.t1 ------- DataMemory for Columns (* means varsized DataMemory): Column Name Type Varsized Key 4.1 5.0 5.1 HIDDEN_NDB_PKEY bigint PRI 8 8 8 c2 varchar(50) Y 52 52 4* c1 int(11) 4 4 4 -- -- -- Fixed Size Columns DM/Row 64 64 12 Varsize Columns DM/Row 0 0 4 DataMemory for Indexes: Index Name Type 4.1 5.0 5.1 PRIMARY BTREE 16 16 16 -- -- -- Total Index DM/Row 16 16 16 IndexMemory for Indexes: Index Name 4.1 5.0 5.1 PRIMARY 33 16 16 -- -- -- Indexes IM/Row 33 16 16 Summary (for THIS table): 4.1 5.0 5.1 Fixed Overhead DM/Row 12 12 16 NULL Bytes/Row 4 4 4 DataMemory/Row 96 96 48 (Includes overhead, bitmap and indexes) Varsize Overhead DM/Row 0 0 8 Varsize NULL Bytes/Row 0 0 4 Avg Varside DM/Row 0 0 16 No. Rows 0 0 0 Rows/32kb DM Page 340 340 680 Fixedsize DataMemory (KB) 0 0 0 Rows/32kb Varsize DM Page 0 0 2040 Varsize DataMemory (KB) 0 0 0 Rows/8kb IM Page 248 512 512 IndexMemory (KB) 0 0 0 Parameter Minimum Requirements ------------------------------ * indicates greater than default Parameter Default 4.1 5.0 5.1 DataMemory (KB) 81920 0 0 0 NoOfOrderedIndexes 128 1 1 1 NoOfTables 128 1 1 1 IndexMemory (KB) 18432 0 0 0 NoOfUniqueHashIndexes 64 0 0 0 NoOfAttributes 1000 3 3 3 NoOfTriggers 768 5 5 5

デバッグ目的で、このスクリプトによって実行されるクエリーを含む Perl 配列は、を使用して指定されたファイルから --savequeries を使用してファイルに保存できます。スクリプトの実行中に読み取られるこのような配列を含むファイルは、--loadqueries を使用して指定できます。 これらのオプションにはデフォルト値はありません。

出力を HTML 形式で生成するには、次に示すように --format オプションを使用して出力をファイルにリダイレクトします。

Press CTRL+C to copy
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock --format=html > ndb_size.html

(リダイレクトしない場合、出力は stdout に送られます)。

このスクリプトの出力には次の情報が含まれています。

  • 分析されるテーブルに対応するために必要な DataMemory, IndexMemory, MaxNoOfTables, MaxNoOfAttributes, MaxNoOfOrderedIndexes および MaxNoOfTriggers 構成パラメータの最小値。

  • データベースに定義されているすべてのテーブル、属性、順序付けされたインデックス、および一意のハッシュインデックスのメモリー要件。

  • テーブルおよびテーブル行ごとに必要な IndexMemory および DataMemory