數據庫管理工具 Navicat使用教程:MySQL 8組件架構和錯誤記錄

Navicat Premium是一個可鏈接多種數據庫的管理工具,它可讓你以單一程序同時鏈接到MySQL、Oracle及PostgreSQL數據庫,讓管理不一樣類型的數據庫更加的方便。mysql

MySQL Server for Version 8的衆多重大變化之一包括一個新的基於組件的基礎架構。這將使架構更加模塊化,同時容許用戶經過添加單個組件來擴展服務器功能。sql

每一個組件都提供服務器以及其餘組件可用的服務。事實上,服務器自己如今被認爲是一個組件,與其餘組件同樣。組件僅經過它們提供的服務相互交互。數據庫

啓用組件

經過INSTALL COMPONENT和UNINSTALL COMPONENT SQL語句實現組件加載和卸載。例如:json

INSTALL COMPONENT 'file://component_validate_password';
UNINSTALL COMPONENT 'file://component_validate_password';複製代碼

加載器服務處理組件加載和卸載,還列出mysql.component系統表中加載的組件。bash

INSTALL COMPONENT將組件加載到服務器中並當即激活它們。加載器服務還在mysql.component系統表中註冊已加載的組件。對於後續服務器重啓,mysql.component中列出的任何組件都在啓動期間由加載器服務加載。服務器

UNINSTALL COMPONENT取消激活組件並從服務器卸載它們。加載程序服務還會從mysql.component系統表中取消註冊組件,以便在後續服務器啓動期間再也不加載它們。架構

要查看已安裝的組件,請使用如下語句:模塊化

SELECT * FROM mysql.component;工具

錯誤日誌篩選和發送

因爲採用了新的組件架構,能夠過濾日誌事件,並能夠將各類格式的輸出發送到多個目標,包括JSON。日誌事件甚至能夠發送到第三方產品,如Navicat Monitor,以進行其餘處理和分析。ui

錯誤日誌配置存儲在全局log_error_services和log_error_verbosity變量中,這些變量都存儲在global_variables表中。錯誤日誌變量以「log_error_」爲前綴,所以咱們能夠按以下方式獲取二者:

mysql>select * from global_variables where VARIABLE_NAME like 'log_error_%';
+---------------------+----------------------------------------+
| VARIABLE_NAME       | VARIABLE_VALUE                         |
+---------------------+----------------------------------------+
| log_error_services  | log_filter_internal; log_sink_internal |
| log_error_verbosity | 2                                      |
+---------------------+----------------------------------------+複製代碼

有四個可用的日誌組件。它們存儲在lib / plugins目錄中,擴展名爲「.so」:

  • component_log_filter_dragnet.so
  • component_log_sink_json.so
  • component_log_sink_syseventlog.so
  • component_log_sink_test.so

組件能夠細分爲兩種類型:過濾器和接收器。

  • 過濾器組件實現錯誤日誌事件的過濾。若是未啓用過濾器組件,則不會進行過濾。某些接收器組件描述是指默認的錯誤日誌目標。不然,任何已啓用的過濾器組件僅影響log_error_services變量中列出的組件的日誌事件。
  • 錯誤日誌接收器組件是實現錯誤日誌輸出的寫入器。若是未啓用接收器組件,則不會發生日誌輸出。某些接收器組件描述是指默認的錯誤日誌目標。這是由log_error系統變量指示的控制檯或文件。

要加載組件,你須要指定其URN。這包括:

「file://」 +[沒有.so擴展名的文件名]

例如,要將編寫器加載到json組件,你能夠這樣操做來啓用它:

mysql> INSTALL COMPONENT 'file://component_log_sink_json';

mysql> SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal; log_sink_json';

mysql> select * from global_variables where VARIABLE_NAME like 'log_error_%';

+---------------------+-------------------------------------------------------+
| VARIABLE_NAME       | VARIABLE_VALUE                                        |
+---------------------+-------------------------------------------------------+
| log_error_services  | log_filter_internal; log_sink_internal; log_sink_json |
| log_error_verbosity | 2                                                     |
+---------------------+-------------------------------------------------------+複製代碼

咱們將在後續的文章中更詳細地探索MySQL 8中的錯誤記錄~

                                     【下載Navicat Premium最新版本

相關文章
相關標籤/搜索