MySQL sys Schema

MySQL sys Schema

MySQL 5.7.7及更高版本包括sys schema,這是一組幫助DBA和開發人員解釋Performance schema收集的數據的對象。 sys schema對象可用於典型的調優和診斷用例。 此schema中的對象包括:session

  • 將Performance Schema數據彙總爲更易於理解的形式的視圖。函數

  • 執行諸如 Performance Schema 配置和生成診斷報告等操做的存儲過程。工具

  • 存儲函數,用於查詢 Performance Schema 配置並提供格式化服務。ui

在新安裝MySQL實例時,若是將mysqld--initialize--initialize-insecure選項一塊兒使用,則在數據目錄初始化期間默認安裝sys schema。若是不須要,能夠在初始化後手動刪除sys schema。url

在升級MySQL時,mysql_upgrade會安裝sys schema(若是未安裝),不然將其升級到當前版本。若是不想安裝或升級,可使用:mysql_upgrade選項--skip-sys-schemaspa

若是存在sys schema但沒有version視圖,mysql_upgrade會返回錯誤,前提是缺乏此視圖表示用戶建立的sys schema。要在這種狀況下進行升級,請先刪除或重命名現有的sys schema。

從MySQL 5.7.9開始,sys schema對象的DEFINER爲’mysql.sys’@’localhost’。 (在MySQL 5.7.9以前,DEFINER是’root’@’localhost’。)使用專用的mysql.sys賬戶能夠避免DBA重命名或刪除root賬戶時出現的問題。

sys Schema 視圖

如下部分描述了sys schema視圖。

sys模式包含許多視圖,這些視圖以各類方式彙總了Performance Schema表。 這些視圖中的大多數成對出現,使得該對中的一個成員具備與另外一個成員相同的名稱,加上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$視圖不一樣:

  • 字節值使用format_bytes()以大小單位格式化。

  • 使用format_time()以時間單位格式化時間值。

  • 使用format_statement()將SQL語句截斷爲最大顯示寬度。

  • 使用format_path()縮短路徑名。

相關文章
相關標籤/搜索