扩展 MySQL 8.0  / 第 4 章 MySQL 插件 API  / 4.4 编写插件  /  4.4.3 编译安装插件库

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 Source-Configuration Options以获取列表。例如,您可能希望指定 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是否将插件库安装在正确的目录中。安装后,确保库权限允许它由服务器执行。