1. 程式人生 > 實用技巧 >mysql5.7sys系統庫初相識

mysql5.7sys系統庫初相識

1.sys系統庫使用基礎環境

(1).在使用sys系統庫之前,你需要確保自己的資料庫環境滿足如下條件。

1).sys系統庫支援MySQL 5.6或更高版本,不支援MySQL 5.5.x及以下版本。
2).因為sys系統庫提供了一些代替直接訪問performance_schema的檢視,所以必須啟用performance_schema(將performance_schema系統引數設定為ON),sys系統庫的大部分功能才能正常使用。
3).要完全訪問sys系統庫,使用者必須具有以下許可權。
   對所有sys表和檢視具有SELECT許可權。
   對所有sys儲存過程和函式具有EXECUTE許可權。
   對sys_config表具有INSERT、UPDATE許可權。
   對某些特定的sys系統庫儲存過程和函式需要額外許可權,如ps_setup_save()儲存過程,需要與臨時表相關的許可權。
4).還要有與被sys系統庫執行訪問的物件相關的許可權。 任何被sys系統庫訪問的performance_schema表都需要有SELECT許可權,如果要使用sys系統庫對performance_schema相關表執行更新,則需要有performance_schema相關表的UPDATE許可權。 INFORMATION_SCHEMA.INNODB_BUFFER_PAGE表的PROCESS許可權。 5).如果要充分使用sys系統庫的功能,則必須啟用某些performance_schema的instruments和consumers。 所有的wait instruments。 所有的stage instruments。 所有的statement instruments。 對於所啟用的型別事件的instruments,還需要啟用對應型別的consumers(xxx_current和xxx_history_long)。要了解某儲存過程具體做了什麼事情,可以通過show create procedure procedure_name;語句檢視。你可以使用sys系統庫本身來啟用所有需要的instruments和consumers(而不需要手動使用DML語句來啟用)。
6).啟用所有的wait instruments:CALLsys.ps_setup_enable_instrument('wait');。 7).啟用所有的stage instruments:CALLsys.ps_setup_enable_instrument('stage');。 8).啟用所有的statement instruments:CALLsys.ps_setup_enable_instrument('statement');。 9).啟用所有事件型別的current表:CALLsys.ps_setup_enable_consumer('current');。 10).啟用所有事件型別的history_long表:CALLsys.ps_setup_enable_consumer('
history_long');。

注意:performance_schema的預設配置就可以滿足sys系統庫的大部分資料收集功能。啟用上面所提及的所有instruments和consumers會對效能產生一定的影響,因此最好僅啟用所需的配置。如果啟用了一些預設配置之外的配置,則可以使用儲存過程CALL sys.ps_setup_reset_to_default(TRUE);快速恢復到performance_schema的預設配置。

sys系統庫使用基礎環境