Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  ndb_size.pl — NDBCLUSTER Size Requirement Estimator

25.5.29 ndb_size.pl — NDBCLUSTER 大小需求估算器

这是一个Perl脚本,可以用来估计MySQL数据库如果转换为使用NDBCLUSTER存储引擎所需的空间大小。与其他在本节中讨论的工具不同,它不需要访问NDB集群(事实上,没有理由这样做)。但是,它确实需要访问MySQL服务器,该服务器上的数据库将进行测试。

  • 一个运行的MySQL服务器。服务器实例无需提供对NDB Cluster的支持。

  • 一个工作的Perl安装。

  • DBI模块,可以从CPAN获取,如果它不是您的Perl安装的一部分。(许多Linux和其他操作系统发行版提供自己的包来处理此库。)

  • 一个MySQL用户帐户具有必要的权限。如果您不想使用现有帐户,则创建一个使用GRANT USAGE ON db_name.*—其中db_name是要检查的数据库名称——足够的帐户。

ndb_size.pl也可以在MySQL源代码中找到:storage/ndb/tools

下表显示了可与ndb_size.pl一起使用的选项。附加描述在表之后。

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 作为数据库名称来明确表示。您还可以使用 --excludedbs 选项与逗号分隔的数据库名称列表排除一个或多个数据库。类似地,您也可以通过在可选的 --excludetables 选项后面列出表名(用逗号分隔)来跳过特定的表。此外,可以使用 --hostname 选项指定主机名称;默认为 localhost。您还可以在主机上指定端口,使用 host:port 格式的值来设置 --hostname 选项的值。默认端口号为 3306。如果必要,还可以指定套接字;默认为 /var/lib/mysql.sock。还可以使用相应的选项指定 MySQL 用户名和密码。此外,可以使用 --format 选项控制输出格式;它可以采用 htmltext 之一,text 是默认值。文本输出的示例如下所示:

$> 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选项并将输出重定向到文件,如下所示:

$> ndb_size.pl --database=test --socket=/tmp/mysql.sock --format=html > ndb_size.html

(如果没有重定向,输出会发送到stdout。)

此脚本的输出包括以下信息: