MySQL中的sys庫是MySQL 5.7及以上版本中新增的內置庫,用于管理和監控MySQL實例。它可以提供診斷等級的信息和更好的實例管理,方便企業或個人更有效的管理自己的MySQL數據庫。
Sys庫包含了眾多視圖和函數用于監控MySQL實例的各種狀態信息:
mysql>select count(*) as "Number of Sessions" from sys.session; +------------------+ | Number of Sessions | +------------------+ | 67 | +------------------+ 1 row in set (0.00 sec)
sys庫還提供了一些視圖幫助監控系統的運行信息,如:Innodb Metrics、IO Metrics、Statement Metrics等,您也可以使用自定義的變量。
mysql>select variable_value from sys.config where variable_name='innodb_buffer_pool_size'; +-----------------+ | variable_value | +-----------------+ | 2147483648 | +-----------------+ 1 row in set (0.00 sec)
Sys庫中包含的函數比視圖更加靈活,您可以使用自定義參數來調用函數,以便得到更加靈活和有效的輸出結果。sys庫還提供了一些實用程序,如kill_query、kill_connection等。它們可以方便地通過調用內部存儲過程和函數強制終止指定的查詢或連接。
mysql>select sys.kill_query(111) as KillQueryResult; +----------------+ | KillQueryResult | +----------------+ | 1 | +----------------+ 1 row in set (0.00 sec)
總之,MySQL sys庫提供了一種簡單而方便的方式來監控和診斷大規模MySQL實例的健康狀況。您可以使用它來瀏覽各種性能指標、配置信息、用戶信息、查詢請求和連接數據等。它也是深入研究MySQL架構非常有用的工具。