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