このページは機械翻訳したものです。
        これは、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
| 形式 | 説明 | 追加、非推奨、または削除された | 
|---|---|---|
| 検査するデータベース。カンマ区切りのリスト。デフォルトは ALL (サーバー上のすべてのデータベースを使用) です | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| ホストおよびオプションポートを host[:port] として指定します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 接続先のソケットの指定 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| MySQL ユーザー名の指定 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| MySQL ユーザーパスワードの指定 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 出力形式 (テキストまたは HTML) を設定します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| カンマ区切りリストのテーブルをスキップ | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| カンマ区切りリストのデータベースをスキップ | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 指定したファイルにデータベースのすべてのクエリーを保存 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 指定されたファイルからすべてのクエリーをロードします。データベースには接続しません | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 一意のインデックスサイズ計算を処理するテーブルを指定 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | 
使用法
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
        がデフォルトです。
        テキスト出力の例を次に示します。
      
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
        オプションを使用して出力をファイルにリダイレクトします。
      
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock --format=html > ndb_size.html
        (リダイレクトしない場合、出力は
        stdout に送られます)。
      
このスクリプトの出力には次の情報が含まれています。
- 分析されるテーブルに対応するために必要な - DataMemory,- IndexMemory,- MaxNoOfTables,- MaxNoOfAttributes,- MaxNoOfOrderedIndexesおよび- MaxNoOfTriggers構成パラメータの最小値。
- データベースに定義されているすべてのテーブル、属性、順序付けされたインデックス、および一意のハッシュインデックスのメモリー要件。 
- テーブルおよびテーブル行ごとに必要な - IndexMemoryおよび- DataMemory。