扩展 MySQL 9.0  /  ...  /  编译和安装插件库

4.4.3 编译和安装插件库

编写完插件后,必须对其进行编译和安装。编译共享对象的过程因系统而异。如果使用 CMake 构建库,它应该能够为您的系统生成正确的编译命令。如果库名为 somepluglib,您最终应该会得到一个名为 somepluglib.so 的共享库文件。(.so 文件名后缀在您的系统上可能有所不同。)

要使用 CMake,您需要设置配置文件以启用插件的编译和安装。使用 MySQL 源代码发行版 plugin 目录下的插件示例作为指南。

创建 CMakeLists.txt,它应该类似于以下内容

MYSQL_ADD_PLUGIN(somepluglib somepluglib.c
  MODULE_ONLY MODULE_OUTPUT_NAME "somepluglib")

CMake 生成 Makefile 时,它应该负责将 -DMYSQL_DYNAMIC_PLUGIN 标志传递给编译命令,并将 -lmysqlservices 标志传递给链接器,这是链接插件服务接口提供的服务中的任何函数所必需的。请参阅 MySQL 插件服务

运行 CMake,然后运行 make

$> cmake .
$> make

如果需要为 CMake 指定配置选项,请参阅 MySQL 源代码配置选项,以获取列表。例如,您可能希望指定 CMAKE_INSTALL_PREFIX 来指示应在哪个 MySQL 基目录下安装插件。您可以使用 SHOW VARIABLES 查看此选项要使用的值

mysql> SHOW VARIABLES LIKE 'basedir';
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| base          | /usr/local/mysql |
+---------------+------------------+

应安装库的插件目录的位置由 plugin_dir 系统变量给出。例如

mysql> SHOW VARIABLES LIKE 'plugin_dir';
+---------------+-----------------------------------+
| Variable_name | Value                             |
+---------------+-----------------------------------+
| plugin_dir    | /usr/local/mysql/lib/mysql/plugin |
+---------------+-----------------------------------+

要安装插件库,请使用 make

$> make install

验证 make install 是否已将插件库安装在正确的目录中。安装后,请确保库权限允许服务器执行它。