28.2.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标志传递给链接器,这对于从插件服务接口提供的服务中的任何功能进行链接都是必需的。参见第 28.3 节“用于插件的 MySQL 服务”

运行 CMake ,然后运行 make

shell> cmake .
shell> make

如果需要为 CMake 指定配置选项,请参见第 2.9.7 节“ MySQL 源配置选项”以获得列 table。例如,您可能需要指定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

shell> make install

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