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服务器组件相关推荐

  1. 关于mysql内存管理_MYSQL内存管理及优化

    MYSQL内存管理及优化 内存是影响数据库性能的主要资源,也是mysql性能优化的一个重要方面: 内存优化的原则 将尽量多的内存分配给mysql做缓存,但是要给操作系统和其他程序的运行预留足够的内存, ...

  2. mysql 角色管理_MySQL 8 用户和角色管理入门

    MySQL 8.0 正式版目前已发布,MySQL 8.0 增加了很多新的功能,具体可参考「MySQL 8.0 正式版 8.0.11 发布!」一文. MySQL 8.0 在用户管理方面增加了角色管理,默 ...

  3. mysql 账户管理_Mysql账户管理原理与实现方法详解

    本文实例讲述了Mysql账户管理原理与实现方法.分享给大家供大家参考,具体如下: 账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然 ...

  4. window服务器管理器--服务器批量管理

    window服务器管理器,服务器批量管理工具:

  5. mysql 账户管理_Mysql账户管理_MySQL

    bitsCN.com Mysql账户管理 1.创建账户 Shell代码 CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'my pass'; 2.删除账 ...

  6. 使用mysql事务管理_MySQL事务管理的介绍(附示例)

    原标题:MySQL事务管理的介绍(附示例) 事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisam不支持事务) 1.关键词 事务(transaction)指一组SQL语句; ...

  7. qt设置mysql最大连接数_MySQL服务器最大连接数的合理设置

    MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考. 我们经常会遇见"MySQL: ERR ...

  8. linux下mysql tmp满_MySQL服务器/tmp目录被占满

    案例分享-MySQL服务器/tmp目录被占满 描述: MySQL服务器在每天的22点/tmp目录磁盘空间被占满,持续10分钟左右,然后自动恢复./tmp目录大小10G,平时可用空间8G左右.MySQL ...

  9. 登陆mysql服务器命令_Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)...

    Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境) 1.  启动MySQL服务 启动MySQL服务的命令为: 命令执行后如图7-5所示,表示启动MySQL服务成功. 也 ...

最新文章

  1. ARP侦查工具Netdiscover
  2. 几种Lucene.Net打开IndexReader的方式
  3. MATLAB_平面几何_判断两平面矩形是否干涉
  4. 全向轮运动特性分析(图片版)
  5. 浏览器控制台console
  6. mysql bit 设置默认值_为什么数据库字段需要设置默认值
  7. 智驾仿真-摄像头仿真方案总纲
  8. endpt matlab,将SDPT3配置到matlab
  9. 《个人信息保护法》正式施行,拒绝隐私泄露
  10. 游戏制作之路:游戏引擎选择、Mac下和Windows下UnrealEngine 4体验对比、文档及其他 -- 前几天我说要学做游戏的流程...
  11. c语言学生班级通讯录,C语言做学生通讯录
  12. 行政执法岗、基层岗申论必背
  13. 【阿里巴巴矢量图库搭建一个属于自己的字体图标库iconfont】
  14. 悼念王选:伟大发明家和失意企业家间的孤独者
  15. PDF如何合并,PDF文件合并的技巧
  16. 电影《忠犬八公》观后感
  17. matlab如何表示抗混叠滤波,Matlab在多采样率信号处理教学中的应用
  18. 集成算法终极模型之《神器LightGBM》—最后的高山
  19. 1660s功耗多少w_gtx660满载功耗是多少
  20. Adapter适配器

热门文章

  1. POJ 3322 Bloxorz I(BFS)
  2. 【STM32】SPI 实验代码详解
  3. ubuntu常用小工具
  4. 【任务脚本】0530更新淘宝618活动领喵币脚本,OrangeJs基于autojs全自动程序稳定运行,向大神致敬...
  5. Keil插件推荐及使用教程
  6. 好好学python·基本数据类型
  7. 4MLinux 24.0 发布
  8. .net程序中资源文件的保护办法探讨
  9. proxool数据库连接池用法
  10. openStack镜像制作