P162 InnoDBモニターの有効化方法の変更(5.7新機能)

[MySQL5.6上でInnoDBロックモニターを有効化する方法]

CREATE TABLE innodb_lock_monitor (a int) ENGINE INNODB;

なお、offにするにはDROP TABLEするか、MySQLサーバーを再起動する事である。

[MySQL5.7上でInnoDBロックモニターを有効化する方法]

SET GLOBAL innodb_status_output_locks = ON;
SET GLOBAL innodb_status_output = ON;

1行目が出力される情報をInnoDBロックモニターのものにするかどうかで、ONはInnoDBロックモニター、OFFはInnoDBモニターを指す。このオプションを有効にすると、エラーログに記録されるものだけではなく SHOW ENGINE INNODB STATUSの出力も InnoDB ロックモニターのものへと変わる。
2行目で実際にInnoDBロックモニターを有効化している。

InnoDBロックモニターは出力されるデータサイズが大きいため、常用はおすすめしない。
また、MySQL5.7ではInnoDBロックモニターよりも便利なInnoDB Metricsや情報スキーマ、パフォーマンススキーマがあるためInnoDBモニターの出番は少ない。