在上一期《访问权限控制系统|全方位认识 mysql 系统库》中,我们结合MySQL的权限表详细介绍了MySQL 的访问权限控制系统,本期我们将为大家带来系列第三篇《元数据记录表|全方位认识 mysql 系统库》,下面请跟随我们一起开始 mysql 系统库的系统学习之旅吧。
1、plugin
该表提供查询自定义安装的插件信息(非系统默认启用的插件),该表的功能已经被information_schema.plugins表取代。
下面是该表中存储的信息内容。
root@localhost : mysql 01:00:20> select * from plugin;
+------------------------------------------+-----------------------+
| name | dl |
+------------------------------------------+-----------------------+
| CONNECTION_CONTROL | connection_control.so |
| CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | connection_control.so |
+------------------------------------------+-----------------------+
2 rows in set (0.00 sec)
表字段含义
name:自定义安装插件时指定的插件名称。
dl:自定义安装的插件so库名称。
2、proc
该表提供查询与information_schema.routines表类似的内容(早期版本主要用户记录存储过程),但information_schema.routines表记录的更加详细。
下面是该表中存储的信息内容。
root@localhost : mysql 01:01:09> select * from proc limit 1\G;
*************************** 1. row ***************************
db: sys
name: extract_schema_from_file_name
type: FUNCTION
specific_name: extract_schema_from_file_name
language: SQL
sql_data_access: NO_SQL
is_deterministic: YES
security_type: INVOKER
param_list: path VARCHAR(512)
returns: varchar(64) CHARSET utf8
body: BEGIN RETURN LEFT(SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(path, '\\', '/'), '/', -2), '/', 1), 64); END
definer: mysql.sys@localhost
created: 2017-07-01 14:31:32
modified: 2017-07-01 14:31:32
sql_mode:
comment:
Description
......
character_set_client: utf8
collation_connection: utf8_general_ci
db_collation: utf8_general_ci
body_utf8: BEGIN RETURN LEFT(SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(path, '\', '/'), '/', -2), '/', 1), 64); END
1 row in set (0.01 sec)
表字段含义
与information_schema.routines表类似,详情参考《Server层表级别对象字典表|全方位认识 information_schema》一文中routines部分,这里不再赘述。
3、event
该表提供查询计划任务相关的事件信息,该表中的信息与information_schema.events相同,且information_schema.events中记录的信息更加详细。
下面是该表中存储的信息内容。
root@localhost : mysql 01:02:41> select * from event limit 1\G;
*************************** 1. row ***************************
db: sbtest
name: test_event
body: BEGIN
insert into test_table select max(id) from sbtest1;
END
definer: root@%
execute_at: NULL
interval_value: 1
interval_field: DAY
created: 2018-01-21 17:05:37
modified: 2018-01-21 17:08:56
last_executed: NULL
starts: 2018-01-21 09:05:37
ends: NULL
status: ENABLED
on_completion: DROP
sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
comment: 每天统计sbtest1表中的最大自增值
originator: 3306111
time_zone: +08:00
character_set_client: utf8
collation_connection: utf8_general_ci
db_collation: utf8_bin
body_utf8: BEGIN
insert into test_table select max(id) from sbtest1;
END
1 row in set (0.00 sec)
表字段含义
与information_schema.events表的字段含义类似,详见《Server层表级别对象字典表|全方位认识 information_schema》一文中events部分,这里不再赘述。
4、func
该表提供查询与information_schema.routines表类似的内容(早期版本主要用于记录用户自定义函数),但information_schema.routines表记录的更加详细。
另外,该表还专用于记录从so插件库中安装的函数信息。
下面是该表中存储的信息内容(这里列出的示例内容为从企业版so插件中安装的UDF函数)。
root@localhost : mysql 12:52:05> select * from func;
+--------------------------------+-----+--------------+-----------+
| name | ret | dl | type |
+--------------------------------+-----+--------------+-----------+
| audit_log_filter_flush | 0 | audit_log.so | function |
| audit_log_filter_remove_user | 0 | audit_log.so | function |
| audit_log_filter_set_user | 0 | audit_log.so | function |
| audit_log_filter_remove_filter | 0 | audit_log.so | function |
| audit_log_filter_set_filter | 0 | audit_log.so | function |
| set_firewall_mode | 0 | firewall.so | function |
| normalize_statement | 0 | firewall.so | function |
| mysql_firewall_flush_status | 0 | firewall.so | function |
| read_firewall_whitelist | 0 | firewall.so | aggregate |
| read_firewall_users | 0 | firewall.so | aggregate |
+--------------------------------+-----+--------------+-----------+
10 rows in set (0.00 sec)
表字段含义
详见information_schema.routines表,详情参考《Server层表级别对象字典表|全方位认识 information_schema》一文中routines部分,这里不再赘述。
本期内容就介绍到这里,本期内容参考链接如下:
https://dev.mysql.com/doc/refman/5.7/en/system-database.html
"翻过这座山,你就可以看到一片海!"。坚持阅读我们的"全方位认识 mysql 系统库"系列文章分享,你就可以系统地学完它。 谢谢你的阅读,我们下期不见不散!
| 作者简介
罗小波·ScaleFlux数据库技术专家
《千金良方——MySQL性能优化金字塔法则》、《数据生态:MySQL复制技术与生产实践》作者之一。
熟悉MySQL体系结构,擅长数据库的整体调优,喜好专研开源技术,并热衷于开源技术的推广,在线上线下做过多次公开的数据库专题分享,发表过近100篇数据库相关的研究文章。
全文完。
Enjoy MySQL :)
叶老师的「MySQL核心优化」大课已升级到MySQL 8.0,扫码开启MySQL 8.0修行之旅吧
来源:oschina
链接:https://my.oschina.net/u/4350184/blog/4774729