mysql中的information_schema

information_schema数据库是MySQL自带的一个数据库,它提供了访问数据库元数据的方式。

那什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
information_schema中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此你将无法看到与之相关的任何文件。你可以通过show databases查看当前是否还有information_schema这个数据。

使用use information_schema命令进入该数据库,然后执行show tables,可以看到该数据库下含有的所有表。

如下:

+---------------------------------------+
| Tables_in_information_schema          |
+---------------------------------------+
| CHARACTER_SETS                        |
| COLLATIONS                            |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS                               |
| COLUMN_PRIVILEGES                     |
| ENGINES                               |
| EVENTS                                |
| FILES                                 |
| GLOBAL_STATUS                         |
| GLOBAL_VARIABLES                      |
| KEY_COLUMN_USAGE                      |
| OPTIMIZER_TRACE                       |
| PARAMETERS                            |
| PARTITIONS                            |
| PLUGINS                               |
| PROCESSLIST                           |
| PROFILING                             |
| REFERENTIAL_CONSTRAINTS               |
| ROUTINES                              |
| SCHEMATA                              |
| SCHEMA_PRIVILEGES                     |
| SESSION_STATUS                        |
| SESSION_VARIABLES                     |
| SQL_FILTER_INFO                       |
| STATISTICS                            |
| TABLES                                |
| TABLESPACES                           |
| TABLE_CONSTRAINTS                     |
| TABLE_PRIVILEGES                      |
| TRIGGERS                              |
| USER_PRIVILEGES                       |
| VIEWS                                 |
| THREAD_GROUP_STATUS                   |
| PR_SLAVE_STATUS                       |
| INDEX_UTILIZATION                     |
| TABLE_UTILIZATION                     |
| TABLE_STATISTICS                      |
| INDEX_STATISTICS                      |
| EXEC_CACHE_STATUS                     |
| TokuDB_file_map                       |
| TokuDB_trx                            |
| INNODB_SYS_DATAFILES                  |
| TokuDB_locks                          |
| INNODB_SYS_TABLESTATS                 |
| INNODB_CMPMEM_RESET                   |
| TokuDB_fractal_tree_block_map         |
| TokuDB_lock_waits                     |
| INNODB_CMP_PER_INDEX                  |
| INNODB_TRX                            |
| INNODB_FT_DELETED                     |
| INNODB_FT_INDEX_CACHE                 |
| INNODB_LOCK_WAITS                     |
| INNODB_CMP                            |
| INNODB_SYS_INDEXES                    |
| INNODB_CMP_RESET                      |
| INNODB_SYS_FIELDS                     |
| TokuDB_background_job_status          |
| INNODB_BUFFER_PAGE                    |
| INNODB_BUFFER_PAGE_LRU                |
| INNODB_FT_INDEX_TABLE                 |
| INNODB_LOCKS                          |
| INNODB_SYS_TABLESPACES                |
| INNODB_METRICS                        |
| INNODB_SYS_FOREIGN_COLS               |
| INNODB_BUFFER_POOL_STATS              |
| INNODB_IO_STATUS                      |
| INNODB_SYS_COLUMNS                    |
| INNODB_SYS_FOREIGN                    |
| INNODB_FT_BEING_DELETED               |
| INNODB_FT_DEFAULT_STOPWORD            |
| INNODB_RSEG                           |
| INNODB_CMPMEM                         |
| INNODB_SYS_TABLES                     |
| TokuDB_fractal_tree_info              |
| INNODB_FT_CONFIG                      |
| INNODB_CMP_PER_INDEX_RESET            |
+---------------------------------------+

其中我们比较熟悉的如tables表,比方查询数据库中是否包含某个表。

select  table_name from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='%s'
    and TABLE_NAME='%s'

table_schema表示数据库名。

还有常见的跟Innodb事务锁相关的三个表:INNODB_TRX表、INNODB_LOCKS表、INNODB_LOCK_WAITS表。

通过查看这三个表可以事务加锁的情况以及事务锁等待的情况,从而可以更简单地监控当前事务并分析可能存在的锁问题,例如分析死锁。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值