• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 插件API组件

    服务器插件实现包括几个组件。

    SQL语句:

    • INSTALL PLUGINmysql.plugin表中注册插件并加载插件代码。
    • UNINSTALL PLUGINmysql.plugin表中注销插件并卸载插件代码。
    • WITH PARSER全文索引创建子句关联与给定的全文解析器插件FULLTEXT索引。
    • SHOW PLUGINS显示有关服务器插件的信息。

    命令行选项和系统变量:

    • --plugin-load选项使插件可以在服务器启动时加载。
    • plugin_dir系统变量指示必须在其中安装的所有插件的目录位置。可以在服务器启动时使用选项指定此变量的值。mysql_config --plugindir显示默认的插件目录路径名。--plugin_dir=dir_name

    有关插件加载的更多信息,请参见“MySQL服务器插件”。

    与插件相关的表:

    • INFORMATION_SCHEMA.PLUGINS表包含插件信息。
    • mysql.plugin表列出了每个已安装INSTALL PLUGIN的插件以及使用插件所需的插件。对于新的MySQL安装,此表是在安装过程中创建的。

    客户端插件的实现更为简单:

    • 对于mysql_options()C API函数,MYSQL_DEFAULT_AUTHMYSQL_PLUGIN_DIR选项可让客户端程序加载身份验证插件。
    • 有一些C API函数可用于管理客户端插件。

    要检查MySQL如何实现插件,请在MySQL源代码分发中查阅以下源文件:

    • include/mysql目录中,plugin.h公开公共插件API。想要编写插件库的任何人都应检查此文件。文件提供了与特定类型的插件有关的其他信息。包含特定于客户端插件的信息。plugin_xxx.hclient_plugin.h
    • sql目录中,sql_plugin.hsql_plugin.cc包含内部插件实现。sql_acl.cc是服务器使用身份验证插件的位置。插件开发人员无需咨询这些文件。他们可能对那些想了解更多有关服务器如何处理插件的人感兴趣。
    • sql-common目录中,client_plugin.h实现C API客户端插件功能,并client.c实现客户端身份验证支持。插件开发人员无需咨询这些文件。他们可能对那些想了解更多有关服务器如何处理插件的人感兴趣。