服务器插件实现包含多个组件。
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
实现客户端身份验证支持。 这些文件不需要插件开发人员咨询。 它们可能对那些想要更多了解服务器如何处理插件的人员感兴趣。