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