13.7.3.3 Заявление INSTALL PLUGIN
INSTALL PLUGIN plugin_name SONAME 'shared_library_name'
Это утверждение устанавливает серверный плагин. Для этого требуется привилегия INSERT для системной таблицы mysql.plugin, поскольку оно добавляет строку в эту таблицу для регистрации плагина.
plugin_name — имя плагина, определённое в структуре описания плагина, содержащейся в файле библиотеки (см. Структуры данных плагинов). Имена плагинов нечувствительны к регистру. Для максимальной совместимости имена плагинов должны быть ограничены ASCII-буквами, цифрами и символом подчёркивания, поскольку они используются в файлах исходного кода C, командных строках оболочек, скриптах M4 и Bourne, а также в SQL-средах.
shared_library_name — имя общей библиотеки, содержащей код плагина. Имя включает расширение файла (например, libmyplugin.so, libmyplugin.dll или libmyplugin.dylib).
Общая библиотека должна располагаться в каталоге плагинов (каталог, указанный системной переменной plugin_dir). Библиотека должна находиться в самом каталоге плагинов, а не в подкаталоге. По умолчанию plugin_dir — это каталог plugin в каталоге, указанном переменной конфигурации pkglibdir, но его можно изменить, установив значение plugin_dir при запуске сервера. Например, установите его значение в файле my.cnf:
[mysqld]
plugin_dir=/path/to/plugin/directory
Если значение plugin_dir — имя относительного пути, оно рассматривается как относительное к базовому каталогу MySQL (значение системной переменной basedir).
INSTALL PLUGIN загружает и инициализирует код плагина, чтобы сделать плагин доступным для использования. Плагин инициализируется путём выполнения его функции инициализации, которая обрабатывает любые настройки, которые плагин должен выполнить перед использованием. При завершении работы сервера он выполняет функцию деинициализации для каждого загруженного плагина, чтобы у плагина была возможность выполнить любые окончательные операции по очистке.
INSTALL PLUGIN также регистрирует плагин, добавив строку, которая указывает имя плагина и имя файла библиотеки в системную таблицу mysql.plugin. Во время обычной последовательности запуска сервер загружает и инициализирует зарегистрированные в mysql.plugin плагины. Это означает, что плагин устанавливается с помощью INSTALL PLUGIN только один раз, а не каждый раз при запуске сервера. Если сервер запускается с опцией --skip-grant-tables, плагины, зарегистрированные в таблице mysql.plugin, не загружаются и недоступны.
Библиотека плагина может содержать несколько плагинов. Для их установки используйте отдельные заявления INSTALL
PLUGIN. Каждое утверждение указывает на другой плагин, но все они указывают на одно и то же имя библиотеки.
INSTALL PLUGIN заставляет сервер читать файлы параметров (my.cnf) так же, как и при запуске сервера. Это позволяет плагину использовать любые соответствующие параметры из этих файлов. Возможно добавление параметров плагина в файл параметров ещё до загрузки плагина (если используется префикс loose). Также возможно удалить плагин, отредактировать my.cnf и снова установить плагин. Перезапуск плагина таким образом позволяет ему использовать новые значения параметров без перезапуска сервера.
Дополнительная информация о параметрах, контролирующих загрузку отдельных плагинов при запуске сервера, содержится в Разделе 5.5.1, «Установка и удаление плагинов». Если вам необходимо загружать плагины для единичного запуска сервера, когда указана опция --skip-grant-tables (которая сообщает серверу не читать системные таблицы), используйте опцию --plugin-load. См. Раздел 5.1.6, «Параметры командной строки сервера».
Чтобы удалить плагин, используйте утверждение UNINSTALL
PLUGIN.
Дополнительная информация о загрузке плагинов содержится в Разделе 5.5.1, «Установка и удаление плагинов».
Чтобы узнать, какие плагины установлены, используйте утверждение SHOW PLUGINS или запросите таблицу INFORMATION_SCHEMA из PLUGINS.
Если вы перекомпилируете библиотеку плагина и вам необходимо переустановить её, вы можете использовать любой из следующих методов:
Используйте
UNINSTALL PLUGINдля удаления всех плагинов в библиотеке, установите новый файл библиотеки плагина в каталог плагинов, а затем используйтеINSTALL PLUGINдля установки всех плагинов в библиотеке. Этот метод имеет преимущество в том, что он может использоваться без остановки сервера. Однако, если библиотека плагина содержит много плагинов, вам придётся выполнить много утвержденийINSTALL PLUGINиUNINSTALL PLUGIN.Остановите сервер, установите новый файл библиотеки плагина в каталог плагинов и перезапустите сервер.
© 2025 Oracle
Licensed under the GPLv2 License.