11.3.1 Создание плагинов MySQL Shell
Плагины MySQL Shell могут содержать функции, зарегистрированные как отчеты MySQL Shell (см. Раздел 11.1, «Отчеты с помощью MySQL Shell»), а также функции, являющиеся членами объектов расширений, доступных через пользовательские глобальные объекты MySQL Shell (см. Раздел 11.2, «Добавление объектов расширений в MySQL Shell»). Один плагин может содержать и регистрировать более одной функции и включать как отчеты, так и члены объектов расширений. Функции, зарегистрированные как отчеты или члены объектов расширений плагином MySQL Shell, становятся доступными сразу после завершения запуска MySQL.
Плагин 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.
© 2025 Oracle
Licensed under the GPLv2 License.