数据库管理工具 Navicat使用教程:MySQL 8组件架构和错误记录

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

MySQL Server for Version 8的众多重大变化之一包括一个新的基于组件的基础架构。这将使架构更加模块化,同时允许用户通过添加单个组件来扩展服务器功能。

每个组件都提供服务器以及其他组件可用的服务。事实上,服务器本身现在被认为是一个组件,与其他组件一样。组件仅通过它们提供的服务相互交互。

启用组件

通过INSTALL COMPONENT和UNINSTALL COMPONENT SQL语句实现组件加载和卸载。例如:

INSTALL COMPONENT 'file://component_validate_password';
UNINSTALL COMPONENT 'file://component_validate_password';复制代码

加载器服务处理组件加载和卸载,还列出mysql.component系统表中加载的组件。

INSTALL COMPONENT将组件加载到服务器中并立即激活它们。加载器服务还在mysql.component系统表中注册已加载的组件。对于后续服务器重启,mysql.component中列出的任何组件都在启动期间由加载器服务加载。

UNINSTALL COMPONENT取消激活组件并从服务器卸载它们。加载程序服务还会从mysql.component系统表中取消注册组件,以便在后续服务器启动期间不再加载它们。

要查看已安装的组件,请使用以下语句:

SELECT * FROM mysql.component;

错误日志筛选和发送

由于采用了新的组件架构,可以过滤日志事件,并可以将各种格式的输出发送到多个目标,包括JSON。日志事件甚至可以发送到第三方产品,如Navicat Monitor,以进行其他处理和分析。

错误日志配置存储在全局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最新版本


转载于:https://juejin.im/post/5c77771e51882578860c31f2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值