怎么理解并掌握mysql中的information_schema

发布时间:2021-11-08 11:25:35 作者:iii
来源:亿速云 阅读:107

本篇内容介绍了“怎么理解并掌握mysql中的information_schema”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

| 什么是information_schema

information_schema提供了对数据库元数据、统计信息、以及有关MySQL Server的信息访问(例如:数据库名或表名,字段的数据类型和访问权限等)。该库中保存的信息也可以称为MySQL的数据字典或系统目录。

针对information_schema下的表的查询操作可以替代一些show查询语句(例如:SHOW DATABASES,SHOW TABLES等),与使用show语句相比,通过查询information_schema下的表获取数据有以下优势:

访问information_schema需要的权限

PS:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

# 语法

Syntax:

SHOW [GLOBAL | SESSION] VARIABLES

[LIKE 'pattern' WHERE expr]

# 示例1

root@localhost : information_schema 12:20:31> show variables like '%log_bin%';

+---------------------------------+----------------------------------------------------+

| Variable_name                  | Value                                              |

+---------------------------------+----------------------------------------------------+

| log_bin                        | ON                                                |

| log_bin_basename                | /home/mysql/data/mysqldata1/binlog/mysql-bin      |

| log_bin_index                  | /home/mysql/data/mysqldata1/binlog/mysql-bin.index |

| log_bin_trust_function_creators | ON                                                |

| log_bin_use_v1_row_events      | OFF                                                |

| sql_log_bin                    | ON                                                |

+---------------------------------+----------------------------------------------------+

rows in set (0.00 sec)

# 实例2

root@localhost : information_schema 12:21:41> show variables where Variable_name like 'log_bin%' and Value='ON';

+---------------------------------+-------+

| Variable_name                  | Value |

+---------------------------------+-------+

| log_bin                        | ON    |

| log_bin_trust_function_creators | ON    |

+---------------------------------+-------+

rows in set (0.00 sec)

# 注意,likewhere子句可单独使用,但要同时使用wherelike子句时,like子句必须在where之后

| information_schema 组成对象

information_schema下的所有表都是使用的Memory和InnoDB存储引擎,且都是临时表,不是持久表,在数据库重启之后这些数据会丢失,在MySQL 的4个系统库中,也是唯一一个在文件系统上没有对应库表的目录和文件的系统库。

下面我们按照这些表的各自用途的相似度,我们把information_schema下的表做了如下归类,本期我们先大致了解下information_schema系统库中都有哪些表,这些表大致都有什么用途。

1. Server层统计信息字典表

COLUMNS:

KEY_COLUMN_USAGE:

REFERENTIAL_CONSTRAINTS:

STATISTICS:

TABLE_CONSTRAINTS:

FILES:

ENGINES:

TABLESPACES:

SCHEMATA:

2. Server层表级别对象字典表

VIEWS:

TRIGGERS:

TABLES:

ROUTINES:

PARTITIONS:

EVENTS:

PARAMETERS:

3. Server 层混杂信息字典表

GLOBAL_STATUS、GLOBAL_VARIABLES、SESSION_STATUS、SESSION_VARIABLES:

OPTIMIZER_TRACE:

PLUGINS:

PROCESSLIST:

PROFILING:

CHARACTER_SETS:

COLLATIONS:

COLLATION_CHARACTER_SET_APPLICABILITY:

COLUMN_PRIVILEGES:

SCHEMA_PRIVILEGES:

TABLE_PRIVILEGES:

USER_PRIVILEGES:

4. InnoDB 层系统字典表

INNODB_SYS_DATAFILES:

INNODB_SYS_VIRTUAL:

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:

5. InnoDB 层锁、事务、统计信息字典表

INNODB_LOCKS:

INNODB_TRX:

INNODB_BUFFER_PAGE_LRU:

INNODB_LOCK_WAITS:

INNODB_TEMP_TABLE_INFO:

INNODB_BUFFER_PAGE:

INNODB_METRICS:

INNODB_BUFFER_POOL_STATS:

6. InnoDB 层全文索引字典表

INNODB_FT_CONFIG:

INNODB_FT_BEING_DELETED:

INNODB_FT_DELETED:

INNODB_FT_DEFAULT_STOPWORD:

INNODB_FT_INDEX_TABLE:

INNODB_FT_INDEX_CACHE:

7. InnoDB 层压缩相关字典表

INNODB_CMP和INNODB_CMP_RESET:

INNODB_CMP_PER_INDEX和INNODB_CMP_PER_INDEX_RESET:

INNODB_CMPMEM和INNODB_CMPMEM_RESET:

“怎么理解并掌握mysql中的information_schema”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 怎么理解并掌握MySQL Server Startup Script
  2. 怎么理解并掌握MySQL

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:mysql在delete、update 时,page的变化是什么

下一篇:VDI相关的Windows PowerShell脚本有什么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》