文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (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。如有必要,您也可以指定一個 Socket;預設值為 /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。)

此腳本的輸出包含以下資訊