ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL系统库作用:performance_schema,sys,information_schema,mysql

2021-06-02 08:35:24  阅读:185  来源: 互联网

标签:语句 information like show 事件 mysql events schema


对系统库的管理维护是是 DBA 的职责。
【performance_schema】
性能监控和状态信息。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等等信息。
按照不同的数据库对象进行分组、按照不同的事件类型进行分组,或者按照事件 类型分组之后,再进一步按照账号、主机、程序、线程、用户等进行细分。
语句事件记录表:记录语句事件信息的表,包括:
events_statements_current(当前语句事件表)、events_statements_history(历 史语句事件表)、events_statements_history_long(长语句历史事件表)以及一 些 summary 表(聚合后的摘要表)。其中,summary 表还可以根据账号(account)、 主机(host)、程 序(program)、线 程(thread)、用 户(user)和全局(global) 再进行细分。
show tables like 'events_statement%';
show tables like 'events_wait%'; 等待事件记录表:与语句事件记录表类似。
show tables like 'events_stage%'; 阶段事件记录表:记录语句执行阶段事件的表,与语句事件记录表类似。
show tables like 'events_transaction%'; 事务事件记录表:记录与事务相关的事件的表,与语句事件记录表类似。
show tables like '%file%'; 监视文件系统层调用的表:
show tables like '%memory%'; 监视内存使用的表:
show tables like '%setup%'; 动态对 performance_schema 进行配置的配置表

update setup_instruments set ENABLEd = 'YES', TIMED = 'YES' WHERE name like 'wait%'; -- 修改配置表,指定收集哪些性能指标
update setup_consumers set ENABLEd = 'YES', TIMED = 'YES' WHERE name like 'wait%'; -- 修改配置表,指定哪些表打开性能数据收集,比如events_transactions_history事务历史表

select * from 1; -- 会报1064错误
select thread_id
,EVENT_ID
,SQL_TEXT as '错误sql'
,MYSQL_ERRNO as '错误号'
,MESSAGE_TEXT as '错误信息'
,FROM_UNIXTIME(TIMER_START, '%Y-%m-%d %H:%i:%S') AS '开始执行时间'
,FROM_UNIXTIME(TIMER_END, '%Y-%m-%d %H:%i:%S') AS '结束执行时间'
,FROM_UNIXTIME(TIMER_WAIT, '%Y-%m-%d %H:%i:%S') AS 'wait等待时间'
from events_statements_history WHERE MYSQL_ERRNO = 1064 order by EVENT_ID desc\G; -- 查看1064报错的sql语句执行历史记录
【sys】
这个数据库主要是通过视图的形式把 information_schema 和 performance_schema 结合起来,让程序员可以更方便的了解 MySQL 服务器的一些性能信息。
这个库的表都是双份,两个表名的区别是另一个前缀是"x$",例如:代表按照主机进行汇总统计的文件 I/O 性能数据, 两个视图访问的数据源是相同的:
host_summary_by_file_io 该视图显示的是相关数值经过单位换算后的数据(单位是毫秒、秒、分钟、小时、 天等),
x$host_summary_by_file_io 该视图带“x$”前缀的视图显示的是原始的数据。

查看慢 SQL 语句
call sys.ps_setup_enable_instrument('wait'); 启用与等待事件相关功能
call sys.ps_setup_enable_consumer('wait'); 启用与等待事件相关功能
select sleep(30); 模拟睡眠30秒
select * from schema_table_statistics_with_buffer\G; 查询表的增、删、改、查数据量和 I/O 耗时统计
SELECT * FROM `session`; 查看当前会话信息


【information_schema】
这个数据库保存着 MySQL 服务器维护的所有其他数据库的信息:表、视图、触发器、列、索引等元数据。
performance_schema=ON|OFF 在 my.cnf 中进行配置performance_schema是否启用,mysql5.7默认启用这个存储引擎
INFORMATION_SCHEMA.ENGINES 表或 show engines; 语句都可以查看PERFORMANCE_SCHEMA是support = YES,才算当前mysql版本支持这个数据库实例。


【mysql】
这个是数据库核心,它存储了 MySQL 的用户账户和权限信息,一些存储过程、 事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。
SELECT * FROM innodb_index_stats; 索引使用记录
SELECT * FROM innodb_table_stats; 表最后更新时间、行数、索引数等

标签:语句,information,like,show,事件,mysql,events,schema
来源: https://www.cnblogs.com/zhuwenjoyce/p/14839670.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有