【问题标题】:MySQL plugin architectureMySQL 插件架构
【发布时间】:2017-07-14 10:00:48
【问题描述】:

在 Windows 10 上加载 MySQL 插件时(使用 MySQL shell),只需要指定 DLL 名称,如下例所示:

INSTALL PLUGIN daemon_example SONAME ‘libdaemon_example.dll’;

由于不需要引用关联的导入库 (.lib) 文件,我认为在 Windows 的 MySQL 源中必须有 GetProcAddress()LoadLibrary() 调用。但是,我在源代码中没有找到这些调用。

有人能告诉我如何在 MySQL 中完成插件加载吗?

【问题讨论】:

    标签: c++ mysql windows plugins


    【解决方案1】:

    参考:https://dev.mysql.com/doc/refman/8.0/en/writing-plugins.html

    28.2.4.1 插件编写概述

    1. 在插件源文件中,包含插件库需要的头文件。 plugin.h 文件是必需的,该库可能还需要其他文件。例如:

      #include
      #include
      #include

    2. 设置插件库文件的描述符信息。对于服务器插件,编写库描述符,它必须包含文件中每个服务器插件的通用插件描述符。有关更多信息,请参阅第 28.2.4.2.1 节,“服务器插件库和插件描述符”。此外,为库中的每个服务器插件设置类型特定的描述符。每个插件的通用描述符都指向其特定类型的描述符。

    对于客户端插件,编写客户端描述符。有关详细信息,请参阅第 28.2.4.2.3 节,“客户端插件描述符”。

    1. 为每个插件编写插件接口函数。例如,每个插件的通用插件描述符指向服务器在加载和卸载插件时应该调用的初始化和去初始化函数。插件的特定类型描述也可能指向接口函数。

    2. 对于服务器插件,设置状态和系统变量,如果有的话。

    3. 将插件库编译为共享库,安装在插件目录下。有关详细信息,请参阅第 28.2.4.3 节,“编译和安装插件库”。

    4. 对于服务器插件,向服务器注册插件。有关详细信息,请参阅第 5.6.1 节“安装和卸载插件”。

    5. 测试插件以验证它是否正常工作。

    参考。 https://yandex.ru/search/?text=MySQL%205%20Plugin%20Development%20buy

    还有:

    【讨论】:

    • 感谢您的回答。我很高兴成为第一个在 SO 上为您接受答案的成员! :)
    猜你喜欢
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多