使用sys模式
您可以将sys
架构设置为默认架构,以便对其引用的对象不需要使用架构名称进行限定:
mysql>USE sys;Database changed mysql>SELECT *FROM version; +------------- +--------------- + | sys_version | mysql_version | +------------- +--------------- + | 2.0.0 | 8.0.13-debug | +------------- +--------------- +
(该version
视图显示了sys
架构和MySQL服务器版本。)
要sys
在默认(或简单地是其他模式)为默认模式的情况下访问模式对象,请使用模式名称限定对象引用:
mysql>SELECT *FROM sys.version; +------------- +--------------- + | sys_version | mysql_version | +------------- +--------------- + | 2.0.0 | 8.0.13-debug | +------------- +--------------- +
该sys
架构包含总结以各种方式表现模式表很多意见。这些视图中的大多数成对出现,因此该对中的一个成员与另一个成员具有相同的名称,外加一个x$
前缀。例如,该host_summary_by_file_io
视图汇总了按主机分组的文件I / O,并显示了从皮秒转换为更易读的值(带有单位)的延迟;
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
视图汇总了相同的数据,但显示了未格式化的皮秒延迟:
mysql>SELECT *FROM sys.x$host_summary_by_file_io; +------------ +------- +--------------- + | host | ios | io_latency | +------------ +------- +--------------- + | localhost | 67574 | 5380678125144 | | background | 3474 | 4758696829416 | +------------ +------- +--------------- +
没有x$
前缀的视图旨在提供对用户更友好,更易于阅读的输出。带有x$
以原始格式显示相同值的前缀的视图更适合与其他对数据执行自己的处理的工具一起使用。有关非视图x$
和x$
视图之间差异的更多信息,请参见“ sys模式视图”。
要检查sys
架构对象定义,请使用适当的SHOW
语句或INFORMATION_SCHEMA
查询。例如,要检查session
视图和format_bytes()
函数的定义,请使用以下语句:
mysql>SHOW CREATE VIEW sys.session ; mysql>SHOW CREATE FUNCTION sys.format_bytes;
但是,这些语句以相对无格式的形式显示定义。要以更具可读性的格式参见对象定义,请访问在MySQL源代码发行版本.sql
下的单个文件scripts/sys_schema
。在MySQL 8.0.18之前,源代码保存在单独的发行版中,该发行版可从sys
架构开发网站 https://github.com/mysql/mysql-sys获得。
默认情况下,mysqldump和mysqlpump都不会转储sys
架构。要生成转储文件,请sys
使用以下任一命令在命令行上显式命名架构:
mysqldump --databases --routines sys > sys_dump.sql mysqlpump sys > sys_dump.sql
要从转储文件中重新安装架构,请使用以下命令:
mysql < sys_dump.sql