MySQL 8.0 参考手册  / 第 28 章 MySQL 系统模式  /  26.2 使用系统模式

26.2 使用系统模式

您可以将sys模式设为默认模式,这样对其对象的引用就不需要使用模式名称进行限定:

Press CTRL+C to copy
mysql> USE sys; Database changed mysql> SELECT * FROM version; +-------------+------------------+ | sys_version | mysql_version | +-------------+------------------+ | 1.5.1 | 5.7.24-debug-log | +-------------+------------------+

(该version视图显示 sys模式和 MySQL 服务器版本。)

要访问sys模式对象,而不同的模式是默认的(或简单地明确),请使用模式名称限定对象引用:

Press CTRL+C to copy
mysql> SELECT * FROM sys.version; +-------------+------------------+ | sys_version | mysql_version | +-------------+------------------+ | 1.5.1 | 5.7.24-debug-log | +-------------+------------------+

sys模式包含许多以各种方式总结性能模式表的视图。大多数这些视图都是成对出现的,这样一对中的一个成员与另一个成员具有相同的名称,加上一个x$前缀。例如,该host_summary_by_file_io 视图汇总了按主机分组的文件 I/O,并显示从皮秒转换为更易读的值(带单位)的延迟;

Press CTRL+C to copy
mysql> SELECT * FROM sys.host_summary_by_file_io; +------------+-------+------------+ | host | ios | io_latency | +------------+-------+------------+ | localhost | 67570 | 5.38 s | | background | 3468 | 4.18 s | +------------+-------+------------+

x$host_summary_by_file_io视图汇总了相同的数据,但显示了未格式化的皮秒延迟:

Press CTRL+C to copy
mysql> SELECT * FROM sys.x$host_summary_by_file_io; +------------+-------+---------------+ | host | ios | io_latency | +------------+-------+---------------+ | localhost | 67574 | 5380678125144 | | background | 3474 | 4758696829416 | +------------+-------+---------------+

没有x$前缀的视图旨在提供对用户更友好且更易于人们阅读的输出。带有以原始形式显示相同值的前缀的视图x$更多地用于与对数据执行自己的处理的其他工具一起使用。x$有关非视图和视图之间差异的其他信息x$,请参阅 第 26.4.3 节,“sys 模式视图”

要检查sys架构对象定义,请使用适当的 SHOW语句或 INFORMATION_SCHEMA查询。例如,要检查 session视图和 format_bytes()函数的定义,请使用以下语句:

Press CTRL+C to copy
mysql> SHOW CREATE VIEW sys.session; mysql> SHOW CREATE FUNCTION sys.format_bytes;

但是,这些语句以相对未格式化的形式显示定义。要查看具有更易读格式的对象定义,请访问在 MySQL 源代码分发中找到的各个.sql文件。在 MySQL 5.7.28 之前,源代码在模式开发网站 https://github.com/mysql/mysql-sysscripts/sys_schema的单独分发中维护 。 sys

默认情况下, mysqldumpmysqlpump 都不会转储 sys模式。要生成转储文件,请sys使用以下任一命令在命令行上显式命名架构:

Press CTRL+C to copy
mysqldump --databases --routines sys > sys_dump.sql mysqlpump sys > sys_dump.sql

要从转储文件重新安装架构,请使用以下命令:

Press CTRL+C to copy
mysql < sys_dump.sql