information_schema是mysql自带的库,不同mysql版本,库中表数量不一样。本次研究的是5.7.30版本,里面有61个表。

1、character_sets表

记录了mysql支持的所有的字符集及默认的比对方法。对应show charset;

2、collations表

记录了mysql支持的所有的比对方法及其对应的字符集。对应show collation;

3、columns表

记录了当前mysql实例的所有库的所有表的所有字段。table_schema字段表示库名,table_name字段表示表名,column_name字段表示列名,ordinal_position字段表示是第几列,等等,还有其他很多字段

4、engines表

记录了mysql支持的所有引擎及各引擎特性。

5、innodb_trx

记录了当前mysql实例正在执行的事务。

trx_id表示事务id,trx_state表示事务状态,trx_started表示事务开始时间,trx_requested_lock_id表示事务想要获取的锁的id,trx_mysql_thread_id表示事务对应的连接id(connection_id),trx_tables_locked表示事务锁了几个表,trx_rows_locked表示事务锁了几行数据,trx_isolation_level表示事务隔离级别,还有其他字段。。

6、innodb_locks

记录了当前mysql实例所有的锁及持锁事务。

7、innodb_lock_waits

记录了当前mysql实例等待锁的事务。

什么情况下,innodb_trx、innodb_locks、innodb_lock_waits表会有数据呢???

相关文章: