文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (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。)

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