服务器插件实现包含多个组件。
SQL 语句
INSTALL PLUGIN
在mysql.plugin
表中注册插件并加载插件代码。UNINSTALL PLUGIN
从mysql.plugin
表中注销插件并卸载插件代码。用于全文索引创建的
WITH PARSER
子句将全文解析器插件与给定的FULLTEXT
索引关联。SHOW PLUGINS
显示有关服务器插件的信息。
命令行选项和系统变量
--plugin-load
选项使插件能够在服务器启动时加载。plugin_dir
系统变量指示所有插件必须安装的目录位置。此变量的值可以在服务器启动时使用--plugin_dir=
选项指定。 mysql_config --plugindir 显示默认插件目录路径名。dir_name
有关插件加载的更多信息,请参阅 安装和卸载插件。
与插件相关的表
INFORMATION_SCHEMA.PLUGINS
表包含插件信息。mysql.plugin
表列出每个使用INSTALL PLUGIN
安装的插件,这是插件使用所必需的。对于新的 MySQL 安装,此表将在安装过程中创建。
客户端插件实现更简单
对于
mysql_options()
C API 函数,MYSQL_DEFAULT_AUTH
和MYSQL_PLUGIN_DIR
选项使客户端程序能够加载认证插件。有一些 C API 函数可以管理客户端插件。
要检查 MySQL 如何实现插件,请参阅 MySQL 源代码分发中的以下源文件
在
include/mysql
目录中,plugin.h
公开了公共插件 API。任何想要编写插件库的人员都应该检查此文件。plugin_
文件提供了与特定类型的插件相关的附加信息。xxx
.hclient_plugin.h
包含特定于客户端插件的信息。在
sql
目录中,sql_plugin.h
和sql_plugin.cc
包含内部插件实现。sql_acl.cc
是服务器使用认证插件的地方。插件开发人员不需要咨询这些文件。它们可能对那些想要了解服务器如何处理插件的人感兴趣。在
sql-common
目录中,client_plugin.h
实现 C API 客户端插件函数,而client.c
实现客户端认证支持。插件开发人员不需要咨询这些文件。它们可能对那些想要了解服务器如何处理插件的人感兴趣。