Mysql

phpmyadmin 中的 TokuDB 數據庫大小未知

  • July 31, 2013

在 mysql 伺服器中,我安裝了 TokuDB 儲存引擎。我將數據庫引擎 InnoDB 轉換為 TokuDB,但我的表大小顯示unknown在 phpmyadmin 中。在此處輸入圖像描述

一旦定義了 TokuDB 儲存引擎,它就會負責更新INFORMATION_SCHEMA數據庫。

你應該做的第一件事是測試 TokuDB 的 INFORMATION_SCHEMA 功能。

首先,在 mysql 客戶端提示符下執行此查詢:

SELECT
   IF(ISNULL(DB)+ISNULL(ENGINE)=2,'Database Total',
   CONCAT(DB,' ',IFNULL(ENGINE,'Total'))) "Reported Statistic",
   LPAD(CONCAT(FORMAT(DAT/POWER(1024,pw1),2),' ',
   SUBSTR(units,pw1*2+1,2)),17,' ') "Data Size",
   LPAD(CONCAT(FORMAT(NDX/POWER(1024,pw2),2),' ',
   SUBSTR(units,pw2*2+1,2)),17,' ') "Index Size",
   LPAD(CONCAT(FORMAT(TBL/POWER(1024,pw3),2),' ',
   SUBSTR(units,pw3*2+1,2)),17,' ') "Total Size"
FROM
(
   SELECT DB,ENGINE,DAT,NDX,TBL,
   IF(px>4,4,px) pw1,IF(py>4,4,py) pw2,IF(pz>4,4,pz) pw3
   FROM 
   (SELECT *,
       FLOOR(LOG(IF(DAT=0,1,DAT))/LOG(1024)) px,
       FLOOR(LOG(IF(NDX=0,1,NDX))/LOG(1024)) py,
       FLOOR(LOG(IF(TBL=0,1,TBL))/LOG(1024)) pz
   FROM
   (SELECT
       DB,ENGINE,
       SUM(data_length) DAT,
       SUM(index_length) NDX,
       SUM(data_length+index_length) TBL
   FROM
   (
      SELECT table_schema DB,ENGINE,data_length,index_length FROM
      information_schema.tables WHERE table_schema NOT IN
      ('information_schema','performance_schema','mysql')
      AND ENGINE IS NOT NULL
   ) AAA GROUP BY DB,ENGINE WITH ROLLUP
) AAA) AA) A,(SELECT ' BKBMBGBTB' units) B;

這將按每個數據庫的引擎使用情況對 MySQL 數據進行分組和匯總。

  • 如果確實出現了 TokuDB 統計資訊,則升級 phpMyAdmin 的 MySQL 驅動程序。
  • 如果 TokuDB 沒有任何問題,請嘗試獲取最新版本的 TokuDB 儲存引擎。如果您已經擁有最新版本的 TokuDB,請聯繫 Tokutek
  • 如果您已經擁有最新版本的 TokuDB 儲存和 phpMyAdmin 的最新 MySQL 驅動程序並且仍然可以獲取unknown,請使用 phpMyAdmin 送出錯誤報告

引用自:https://dba.stackexchange.com/questions/47331