Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

30.2 使用 sys Schema

您可以将sys架构设置为默认架构,从而不需要在对象引用中指定架构名称:

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

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

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

mysql> SELECT * FROM sys.version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 2.1.1       | 8.4.0-tr      |
+-------------+---------------+

sys架构中包含许多将Performance Schema表格摘要的视图。这些视图大多数以对的形式出现,其中一个成员的名称与另一个成员相同,但前面加上了x$前缀。例如,host_summary_by_file_io视图将文件I/O根据主机分组,并将延迟从-picosecond转换为更易读的值(带单位);

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

sys架构中的x$host_summary_by_file_io视图将同样的数据进行摘要,但将延迟显示为未格式化的picosecond值:

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

没有x$前缀的视图旨在为用户提供易于阅读的输出,而x$前缀的视图旨在为其他工具提供原始数据。关于非x$x$视图的差异的更多信息,请参阅Section 30.4.3, “sys Schema Views”

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

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

然而,这些语句将显示定义的输出形式不太友好。要查看对象定义的更易读格式,请访问.sql文件,位于MySQL源代码分发中的scripts/sys_schema目录下。

mysqldump 不会默认备份sys架构。要生成备份文件,可以使用以下命令在命令行中指定架构名称:

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

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

mysql < sys_dump.sql