mysql plugin

mysql plugin

概要

  1. mysql可以通过启动参数,系统命令mysql_install,mysql命令install plugin来加载指定的插件
  2. mysql的存储引擎被设计成插件式,可以根据需要加载不同的存储引擎

使用

  1. 插件的一些查看,加载,卸载的方法,参看https://mariadb.com/kb/en/plugin-overview/

原理

  1. 在插件定义文件,通过maria_declare_plugin(插件名称)来声明指定的插件,该声明会export一些版本定义(int maria_plugin_interface_version),插件结构大小(int _maria_sizeof_struct_st_plugin),插件声明(struct st_maria_plugin maria_plugin_declarations)
  2. 加载插件时,通过plugin_init(启动时)或者plugin_add(处理install plugin命令)方法来加载插件
    1. 先查询指定的插件,在预定的目录内
    2. 找到插件文件后,检查该插件是否启动,如果启用,则通过dlopen动态加载该so文件,然后dlsym查询上述预定义的符号,最终将_maria_plugin_declartions_找到并转换成struct st_maria_plugin,并执行插件的init方法
原文地址:https://www.cnblogs.com/zhedan/p/12518091.html