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。