Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  MySQL sys Schema  /  Using the sys Schema

30.2 使用 sys 架构

您可以将 sys 架构设置为默认架构,以便不需要使用架构名称限定对象引用:

mysql> USE sys;
Database changed
mysql> SELECT * FROM version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 2.1.1       | 8.0.26-debug  |
+-------------+---------------+

(The version 视图显示 sys 架构和 MySQL 服务器版本。)

要访问 sys 架构对象,而当前默认架构不同(或只是为了明确),请使用架构名称限定对象引用:

mysql> SELECT * FROM sys.version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 2.1.1       | 8.0.26-debug  |
+-------------+---------------+

The 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     |
+------------+-------+------------+

The 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$ 视图之间差异的更多信息,请参阅 第 30.4.3 节,“sys 架构 Views”

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

mysql> SHOW CREATE VIEW sys.session;
mysql> SHOW CREATE FUNCTION sys.format_bytes;

然而,这些语句以相对未格式化的形式显示定义。要以更易读的格式查看对象定义,请访问 MySQL 源代码分发中的 scripts/sys_schema 目录下的单个 .sql 文件。在 MySQL 8.0.18 之前,源代码维护在一个单独的分发中,来自 sys 架构开发网站 https://github.com/mysql/mysql-sys

既不是 mysqldump 也不是 mysqlpumpsys 架构转储为默认值。要生成转储文件,请在命令行上明确指定 sys 架构使用以下命令:

mysqldump --databases --routines sys > sys_dump.sql
mysqlpump sys > sys_dump.sql

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

mysql < sys_dump.sql