MySQL8で廃止されたinformation_schemaのテーブル
大好きなクエリが流れなくて、アレ?と思ったのが始まり
のSH2さんの『ロック競合を表示するSQL』(以下参照)
select t_b.trx_mysql_thread_id blocking_id, t_w.trx_mysql_thread_id requesting_id, p_b.HOST blocking_host, p_w.HOST requesting_host, l.lock_table lock_table, l.lock_index lock_index, l.lock_mode lock_mode, p_w.TIME seconds, p_b.INFO blocking_info, p_w.INFO requesting_info from information_schema.INNODB_LOCK_WAITS w, information_schema.INNODB_LOCKS l, information_schema.INNODB_TRX t_b, information_schema.INNODB_TRX t_w, information_schema.PROCESSLIST p_b, information_schema.PROCESSLIST p_w where w.blocking_lock_id = l.lock_id and w.blocking_trx_id = t_b.trx_id and w.requesting_trx_id = t_w.trx_id and t_b.trx_mysql_thread_id = p_b.ID and t_w.trx_mysql_thread_id = p_w.ID order by requesting_id, blocking_id \G
が便利でちょっといじってMySQL5.5~5.7の環境で使ってたのだが、MySQL8の環境で実行して
Error Code: 1109. Unknown table 'INNODB_LOCK_WAITS' in information_schema
と言われて、あ、無くなったんだ と気づいた。 (sysのほう見ろっちゅうことね)
MySQL8で廃止されたのはこいつら
information_schemaのテーブル名 | 備考 |
---|---|
GLOBAL_STATUS | |
GLOBAL_VARIABLES | |
SESSION_STATUS | |
SESSION_VARIABLES | |
INNODB_LOCKS | こいつ |
INNODB_SYS_DATAFILES | |
INNODB_SYS_VIRTUAL | |
INNODB_LOCK_WAITS | こいつ |
INNODB_SYS_INDEXES | |
INNODB_SYS_TABLES | |
INNODB_SYS_FIELDS | |
INNODB_SYS_TABLESPACES | |
INNODB_SYS_FOREIGN_COLS | |
INNODB_SYS_COLUMNS | |
INNODB_SYS_FOREIGN | |
INNODB_SYS_TABLESTATS |
一方、増えたのはこいつら
information_schemaのテーブル名 | 備考 |
---|---|
COLUMN_STATISTICS | mysqldump --column-statistics=0 |
INNODB_CACHED_INDEXES | InnoDB系テーブルのインデックスのキャッシュ情報 |
INNODB_COLUMNS | InnoDB系テーブルのカラム情報 |
INNODB_DATAFILES | InnoDB系テーブルのデータファイル情報 |
INNODB_FIELDS | InnoDB系テーブルのインデックスキー(カラム)情報 |
INNODB_FOREIGN | InnoDB系テーブルの外部キー情報 |
INNODB_FOREIGN_COLS | InnoDB系テーブルの外部キー(カラム)情報 |
INNODB_INDEXES | InnoDB系テーブルのインデックス情報 |
INNODB_SESSION_TEMP_TABLESPACES | セッション一時表領域に関する情報 |
INNODB_TABLES | InnoDB系テーブル情報 |
INNODB_TABLESPACES | InnoDB系テーブルの表領域情報 |
INNODB_TABLESPACES_BRIEF | InnoDB系テーブルの表領域情報(パスはこっち) |
INNODB_TABLESTATS | 統計情報収集結果確認用っぽい |
INNODB_VIRTUAL | virtual generated columns用 |
KEYWORDS | 予約語テーブル |
RESOURCE_GROUPS | リソースグループ定義に関する情報 |
ST_GEOMETRY_COLUMNS | 空間カラムに関する情報 |
ST_SPATIAL_REFERENCE_SYSTEMS | 空間参照系に関する情報 |
VIEW_ROUTINE_USAGE | システム系ビューの一覧? |
VIEW_TABLE_USAGE | システム系テーブルの一覧? |
リソース・グループ
https://dev.mysql.com/doc/refman/8.0/en/resource-groups.html#resource-group-components 読んだけど、なんか面白そうなことやってる。
と思ったら、mita2さんが8.0.3だけど試してた。
http://mita2db.blogspot.com/2017/09/mysql-80.html
MySQL8に移行するならこれ、検討だな。