文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (美国字母) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  ndb_size.pl — NDBCLUSTER 大小需求评估器

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

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

注意

ndb_size.pl 在 NDB 8.4.3 及更高版本中已弃用,不再受支持。您应该预计它将在 NDB 集群分发的未来版本中被移除,并相应地修改任何依赖的应用程序。

要求

  • 运行中的 MySQL 服务器。服务器实例不需要提供对 NDB 集群的支持。

  • 一个正常工作的 Perl 安装。

  • DBI 模块,如果它不在您的 Perl 安装中,则可以从 CPAN 获取。 (许多 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。)

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