MySQL Shell 插件可用于包含注册为 MySQL Shell 报告的函数(请参阅 第 10.1 节,“使用 MySQL Shell 报告”),以及作为扩展对象成员的函数,这些扩展对象可由用户定义的 MySQL Shell 全局对象(参见 第 10.2 节,“将扩展对象添加到 MySQL Shell”)。单个插件可以包含和注册多个函数,并且可以包含报告和扩展对象成员的混合。当 MySQL 完成启动时,由 MySQL Shell 插件注册为报告或扩展对象成员的函数将立即可用。
MySQL Shell 插件是一个文件夹,其中包含适合该语言的初始化脚本(一个
init.js
或init.py
文件)。初始化脚本是插件的入口点。一个插件只能包含一种语言的代码,因此如果您要创建一个扩展对象,其中混合了用 Python 定义的成员和用 JavaScript 定义的成员,则必须将这些成员存储为单独的适合语言的插件。
对于启动时自动加载的 MySQL Shell 插件,其文件夹必须位于plugins
MySQL Shell 用户配置路径中的文件夹下。MySQL Shell 在此位置搜索任何初始化脚本。MySQL Shell 忽略
plugins
名称以点 (.) 开头的位置中的任何文件夹,否则您用于插件文件夹的名称并不重要。
该plugins
文件夹
的默认路径~/.mysqlsh/plugins
在 Unix 和
%AppData%\MySQL\mysqlsh\plugins
Windows 中。通过定义环境变量,可以在所有平台上覆盖用户配置路径
MYSQLSH_USER_CONFIG_HOME
。此变量的值%AppData%\MySQL\mysqlsh\
在 Windows 或~/.mysqlsh/
Unix 上替换。
在加载插件时发现错误时,会显示警告,错误详细信息可在 MySQL Shell 应用程序日志中找到。要查看有关加载过程的更多详细信息,请使用--log-level=debug
启动 MySQL Shell 时的选项。
加载 MySQL Shell 插件时,以下对象可用作全局变量:
内置全局对象
shell
、dba
和util
。Shell API 主模块
mysql
。X DevAPI 主模块
mysqlx
。AdminAPI 主模块
dba
。