mysql 服务器 管理_MySQL服务器组件
MySQL服務器組件
MySQL Server包括用于擴展服務器功能的基于組件的基礎結構。組件提供服務器和其他組件可用的服務。(就服務使用而言,服務器是一個組件,與其他組件相同。)組件僅通過它們提供的服務進行交互。
MySQL發行版包含幾個實現服務器擴展的組件:用于配置錯誤日志記錄的組件。請參見“MySQL服務器錯誤日志”和“錯誤日志組件”。
用于檢查密碼的組件。請參見“密碼驗證組件”。
使應用程序能夠將其自己的消息事件添加到審核日志的組件。請參見“審核消息組件(audit_api_message_emit)”。
服務器組件實現的系統和狀態變量在安裝組件時會公開,并且其名稱以特定于組件的前綴開頭。例如,log_filter_dragnet錯誤日志過濾器組件實現了名為的系統變量log_error_filter_rules,其全名是dragnet.log_error_filter_rules。要引用此變量,請使用全名。
以下各節介紹如何安裝和卸載組件,以及如何在運行時確定安裝了哪些組件并獲取有關它們的信息。
有關組件內部實現的信息,請參見MySQL Server Doxygen文檔,網址為 https://dev.mysql.com/doc/index-other.html。例如,如果您打算編寫自己的組件,那么此信息對于理解組件的工作方式非常重要。
安裝和卸載組件
必須先將服務器組件裝入服務器,然后才能使用它們。MySQL支持在運行時加載組件。
在INSTALL COMPONENT與UNINSTALL COMPONENTSQL語句使組件裝卸。例如:INSTALL COMPONENT 'file://component_validate_password';
UNINSTALL COMPONENT 'file://component_validate_password';
加載程序服務處理組件的加載和卸載,并在用作注冊表component的mysql系統數據庫表中列出已加載的組件。
用于組件操作的SQL語句會影響服務器操作和mysql.component系統表,如下所示:INSTALL COMPONENT將組件加載到服務器中。組件立即變為活動狀態。加載程序服務還將已加載的組件注冊到mysql.component系統表中。對于隨后的服務器重新啟動,加載程序服務將加載mysql.component啟動順序中列出的所有組件。即使使用該--skip-grant-tables選項啟動服務器,也會發生這種情況。
UNINSTALL COMPONENT停用組件并從服務器卸載它們。加載程序服務還會從mysql.component系統表中注銷組件,以便在啟動序列期間不再為后續服務器重新啟動而加載它們。
與INSTALL PLUGIN服務器插件的相應語句相比INSTALL COMPONENT,組件的語句具有明顯的優勢,即無需知道用于命名組件的任何特定于平臺的文件名后綴。這意味著INSTALL COMPONENT可以跨平臺統一執行給定的語句。
獲取服務器組件信息
系統數據庫中的component表mysql包含有關當前加載的組件的信息,并顯示已向其中注冊了哪些組件INSTALL COMPONENT。要參見安裝了哪些組件,請使用以下語句:SELECT * FROM mysql.component;
錯誤日志組件
本節描述各個錯誤日志組件的特征。有關配置錯誤日志記錄的一般信息,請參見“MySQL服務器錯誤日志”。
日志組件可以是過濾器或接收器:過濾器處理日志事件,以添加,刪除或修改事件字段,或完全刪除事件。結果事件將傳遞到log_error_services系統變量值中命名的下一個日志組件。
接收器是日志事件的目標(寫入器)。通常,接收器將日志事件處理為具有特定格式的日志消息,并將這些消息寫入其關聯的輸出,例如文件或系統日志。
服務器log_error_services按照名稱的順序執行過濾器和接收器。因此,最右邊的組件應該是一個接收器。如果最右邊的組件是過濾器,則它對事件的任何更改都不會影響輸出。
以下各節介紹了按組件類型分組的單個日志組件:錯誤日志過濾器組件
錯誤日志接收器組件
組件說明包括以下類型的信息:組件名稱和預期用途。
組件是內置的還是必須加載的。對于可加載的組件,該說明指定了用于使用INSTALL COMPONENT nd UNINSTALL COMPONENT語句加載和卸載組件的URN 。
該組件是否可以在log_error_services值中多次列出。
對于接收器組件,該組件將輸出寫入的目標。
錯誤日志過濾器組件
錯誤日志過濾器組件實現錯誤日志事件的過濾:如果未啟用任何篩選器組件,則不會進行篩選。
任何啟用的篩選器組件都只會影響log_error_services值中稍后列出的組件的日志事件。特別是,對于任何log_error_services過濾器組件之前列出的任何日志接收器組件,都不會發生日志事件過濾。
log_filter_internal組件目的:結合和log_error_verbosity和log_error_suppression_list系統變量,根據日志事件優先級和錯誤代碼實施過濾。
URN:此組件是內置的,INSTALL COMPONENT在使用前無需加載。
允許多次使用:否。
如果log_filter_internal被禁用,log_error_verbosity并且log_error_suppression_list沒有任何效果。
log_filter_dragnet組件用途:根據dragnet.log_error_filter_rules系統變量設置定義的規則實施過濾。請參見“基于規則的錯誤日志過濾(log_filter_dragnet)”。
甕:file://component_log_filter_dragnet
允許多次使用:否。
錯誤日志接收器組件
錯誤日志接收器組件是實現錯誤日志輸出的編寫器。如果未啟用任何接收器組件,則不會發生日志輸出。
一些接收器組件描述引用默認錯誤日志目標。這是控制臺或文件,由log_error系統變量的錯誤指示,如“默認錯誤日志目標配置”中所述。
log_sink_internal組件目的:實現傳統的錯誤日志消息輸出格式。
URN:此組件是內置的,INSTALL COMPONENT在使用前無需加載。
允許多次使用:否。
輸出目標:寫入默認錯誤日志目標。
log_sink_json組件目的:實現JSON格式的錯誤日志記錄。請參見“ JSON格式的錯誤記錄”。
甕:file://component_log_sink_json
允許多次使用:是。
輸出目的地:JSON日志編寫器根據默認錯誤日志目的地(由log_error系統變量指定)確定其輸出目的地:如果log_error命名文件,則JSON 編寫器將基于該文件名加上一個帶編號的后綴(從00開始)來命名輸出文件。例如,如果 is 為,則值中連續的named 實例將寫入,等等。.NN.jsonNNlog_errorfile_namelog_sink_jsonlog_error_servicesfile_name.00.jsonfile_name.01.json
如果log_error為stderr,則JSON編寫器將寫入控制臺。如果log_json_writer在log_error_services值中多次命名它們,它們都將寫入控制臺,這可能沒有用。
log_sink_syseventlog組件目的:將錯誤記錄到系統日志。這是Windows,syslogUnix和類似Unix的系統上的事件日志。
甕:file://component_log_sink_syseventlog
允許多次使用:否。
輸出目標:寫入系統日志。不使用默認錯誤日志目標。
log_sink_test組件目的:供編寫測試用例內部使用。不適用于生產用途。
甕:file://component_log_sink_test
允許多次使用:是。
輸出目標:寫入默認錯誤日志目標。
總結
以上是生活随笔為你收集整理的mysql 服务器 管理_MySQL服务器组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保定市网约车驾驶证在哪里办?
- 下一篇: mysql 设置电脑时间设置_怎样设置m