MySQL 中的 sys 数据库,它是什么以及为什么存在?

MySQL 自带的 sys 数据库是一个系统数据库,用于存储与 MySQL 相关的系统信息和性能数据。

MySQL 5.7版本引入了一个新的系统库——sys库,旨在通过简化performance_schema的复杂度,帮助数据库管理员(DBA)更快、更便捷地了解数据库的运行情况,以下是对MySQL自带sys库的介绍:

MySQL 中的 sys 数据库,它是什么以及为什么存在?

sys库

1、来源与目标:sys库的数据源主要来自performance_schema,其目标是降低performance_schema的复杂度,使DBA能够更容易地读取和理解其中的内容,从而快速掌握数据库的运行状态。

2、支持版本:sys库在MySQL 5.6或更高版本中可用,要完全访问sys库,用户需要具有相应的权限,包括对所有sys表和视图的SELECT权限,对所有存储过程和函数的EXECUTE权限,以及对特定表如sys_config的INSERT和UPDATE权限。

3、表分类:sys库中的表主要分为两类:以字母开头的表和以x$开头的表,前者适合人阅读,数据经过格式化处理;后者则适合工具采集,包含原始类数据。

4、视图功能:sys库包含多个视图,分为正常以字母开头的视图和以x$开头的视图,字母开头的视图显示格式化数据,更易读;x$开头的视图则适合工具采集,显示原始未处理过的数据。

常用查询介绍

MySQL 中的 sys 数据库,它是什么以及为什么存在?

1、查看客户端IP连接资源消耗:通过host_summary视图,可以查看每个客户端IP过来的连接消耗了多少资源。

2、查看数据文件IO请求:利用io_global_by_file_by_bytes视图,可以查看某个数据文件上发生了多少IO请求。

3、查看用户资源消耗:通过user_summary视图,可以查看每个用户消耗了多少资源。

4、查看总内存分配:使用memory_global_total视图,可以查看总共分配了多少内存。

5、查看当前连接情况:结合host_summary视图,可以查看数据库连接的来源及其对数据库的请求情况。

相关问答FAQs

MySQL 中的 sys 数据库,它是什么以及为什么存在?

1、问题一:MySQL自带的sys库有哪些主要用途?

回答:MySQL自带的sys库主要用于简化performance_schema的复杂度,帮助DBA更快地了解数据库的运行情况,它提供了多种视图、存储过程和函数,用于监控数据库的技术性能,如哪些语句使用了临时表、哪个SQL没有使用索引、哪个schema中有冗余索引等。

2、问题二:如何访问MySQL自带的sys库?

回答:要访问MySQL自带的sys库,用户需要具有相应的权限,需要对所有sys表和视图具有SELECT权限,对所有存储过程和函数具有EXECUTE权限,以及对某些特定表如sys_config具有INSERT和UPDATE权限,对于某些特定的sys系统库存储过程和函数,还需要额外的权限。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1112867.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-01 02:48
下一篇 2024-10-01

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入