mysql 伺服器 管理 MySQL伺服器元件

2021-10-20 22:29:04 字數 3649 閱讀 4554

mysql伺服器元件

mysql server包括用於擴充套件伺服器功能的基於元件的基礎結構。元件提供伺服器和其他元件可用的服務。(就服務使用而言,伺服器是乙個元件,與其他元件相同。)元件僅通過它們提供的服務進行互動。

mysql發行版包含幾個實現伺服器擴充套件的元件:用於配置錯誤日誌記錄的元件。請參見「mysql伺服器錯誤日誌」和「錯誤日誌元件」。

用於檢查密碼的元件。請參見「密碼驗證元件」。

使應用程式能夠將其自己的訊息事件新增到審核日誌的元件。請參見「審核訊息元件(audit_api_message_emit)」。

伺服器元件實現的系統和狀態變數在安裝元件時會公開,並且其名稱以特定於元件的字首開頭。例如,log_filter_dragnet錯誤日誌過濾器元件實現了名為的系統變數log_error_filter_rules,其全名是dragnet.log_error_filter_rules。要引用此變數,請使用全名。

以下各節介紹如何安裝和解除安裝元件,以及如何在執行時確定安裝了哪些元件並獲取有關它們的資訊。

有關元件內部實現的資訊,請參見mysql server doxygen文件,**為 例如,如果您打算編寫自己的元件,那麼此資訊對於理解元件的工作方式非常重要。

安裝和解除安裝元件

必須先將伺服器元件裝入伺服器,然後才能使用它們。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按照名稱的順序執行過濾器和接收器。因此,最右邊的元件應該是乙個接收器。如果最右邊的元件是過濾器,則它對事件的任何更改都不會影響輸出。

以下各節介紹了按元件型別分組的單個日誌元件:錯誤日誌過濾器元件

錯誤日誌接收器元件

元件說明包括以下型別的資訊:元件名稱和預期用途。

元件是內建的還是必須載入的。對於可載入的元件,該說明指定了用於使用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伺服器拒絕連線

1 連線mysql伺服器報錯 通過 mysql hhost u user p 命令連線mysql伺服器時,報以下錯誤 error 1130 hy000 host hostname is not allowed to connect to this mysql server 2 原因 這是因為mysq...

mysql多伺服器 mysql 多伺服器例項

測試環境是在windows下。不同系統啟動和停止命令有所差異 1 修改配置檔案 把需要配置的選項都設定成不一樣的 需要修改的地方有 client password your password port 3308 經過測試,這個埠改不改都沒什麼問題,但是還是改了保險點吧 socket d servic...

mysql伺服器配置單 mysql伺服器配置

net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 mysql的提示符是 mysql 注意,如果是連線到另外的機器上,則需要加入乙個引數 h機器ip 第三招 增加新使用者 格式 grant 許可權 on 資料庫.to...