您可以将sys schema设置为默认架构,以便对其引用的对象不需要使用架构名称进行限定:
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$视图之间差异的更多信息,请参见 第27.4.3节“ 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