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