10.3.1 Создание плагинов MySQL Shell
Плагины 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 при запуске его папка должна находиться в папке 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.