2011年4月7日 星期四

記錄某段時間InnoDB的狀況

/*
開啟監控,只要create table後就代表開啟監控了,建立的 table 與 InnoDB Monitor 無任何關係
若沒將table drop掉,就關閉 mysql,開啟 mysql 後,若要再監控,需先將 table drop 後,再 create table
開啟後,會將log記錄在 err log 裡,如:xx.com.tw.err
*/
/* 記錄標準的 InnoDB Monitor,等於 show engine inndb status 指令,執行週期15秒 */
create table mysql.innodb_monitor(a int) engine=innodb;
/* 會顯示更多的 lock 訊息,執行週期15秒 */
create table mysql.innodb_lock_monitor(a int) engine=innodb;
/* 獲得 InnoDB 內部數據字典的信息 */
create table mysql.innodb_table_monitor(a int) engine=innodb;
/* 顯示在現有表空間內所建立的文件段列表以及可以分配數據結構的有效表空間
若在 my.cnf 中有設定innodb_file_per_table为每个表使用独立的表空间的話 .
這秀的訊息就不是正確的 */
create table mysql.innodb_tablespace_monitor(a int) engine=innodb;

/* 關閉監控,drop table後代表關閉監控 */
DROP TABLE mysql.innodb_monitor;
DROP TABLE mysql.innodb_lock_monitor;
DROP TABLE mysql.innodb_table_monitor;
DROP TABLE mysql.innodb_tablespace_monitor;

沒有留言: