注:既然已经使用 DBeaver 了,后续许多 MariaDB 的指令,就直接在 dbeaver 的 sql script 里面写(工具栏“SQL 编辑器”->“新建 SQL 编辑器”),如果习惯使用终端窗口,在终端连接 MariaDB 之后,在其 MariaDB 命令窗口输入一样的。

什么是插件(plugin)?

MariaDB 的插件是:

是通过某种方式增强 MariaDB-server 组件。这些可以是新存储引擎中的任何东西,用于增强全文本分析的插件,甚至是一些小的增强功能,例如将时间戳记作为整数的插件。

说起来:

  • MySQL/MariaDB 使用 Plugins 方式扩充 Database 核心功能
  • 使用外挂方式可避免软件必须重新编译
  • 动态挂载/ 卸除,提供更弹性的功能扩充。例如
    • 特定用途的 Storage 引擎
    • 安全模块
    • 稽核纪录

插件管理

查看插件指令

SHOW PLUGINS; -- 查看所有已安装的插件命令
SELECT * FROM information_schema.all_plugins; -- 查看所有的插件,包括未安装的
SELECT * FROM information_schema.PLUGINS; -- 查看插件更多细节信息
SELECT plugin_name, plugin_version, lugin_maturity FROM information_schema.plugins ORDER BY plugin_name; -- 查询某些指定信息

安装插件

官网介绍有 3 种方式,使用其一即可。简单归结为

  • INSTALL SONAME
  • INSTALL PLUGIN
  • mysql_plugin 命令

INSTALL PLUGIN语法:

INSTALL PLUGIN [IF NOT EXISTS]   SONAME ''
  • SONAME: 插件 so 的原始文件名(非必要参数)
  • plugin_name: 定义于插件内的名称
  • 新增后,系统于 mysql.plugin 添加一笔纪录

安装后,查询 Plugin 对应的模块名称,语法show plugins soname

< plugin_name>就是 Name 字段了,’就是 library 字段了。

查询 Plugin 对应的模块名称

示例,安装一个名为 BLACKHOLE 的插件

执行安装语句:

install plugin [IF NOT EXISTS]  BLACKHOLE soname 'ha_blackhole.so'

安装BLACKHOLE的插件

新安装的插件,会显示在mysql.glugin表里面。所以查看此表,可以看到新安装的插件。也可用于查看是否安装成功:

查看插件结果

卸载插件

同样,卸载组件也类似三种方式,任选其一即可:

  • UNINSTALL SONAME
  • UNINSTALL PLUGIN
  • mysql_plugin 命令

例如,卸载刚刚安装的 BLACKHOLE:

UNINSTALL PLUGIN IF EXISTS BLACKHOLE;

卸载BLACKHOLE的插件

再查询select * from mysql.plugin;就没有 BLACKHOLE 了。