文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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

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

注意

ndb_size.pl 已在 NDB 9.0.0 及更高版本中弃用,不再受支持。您应该预期它将在 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

出于调试目的,可以使用 --savequeries 将包含此脚本运行的查询的 Perl 数组保存到文件中;可以使用 --loadqueries 指定包含要在此脚本执行期间读取的此类数组的文件。这两个选项都没有默认值。

要生成 HTML 格式的输出,请使用 --format 选项并将输出重定向到文件,如下所示

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

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

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