15.7.4.4 Выполнение инструкции 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 и снова установить плагин. Перезапуск плагина таким образом позволит ему использовать новые значения параметров без перезапуска сервера.
Дополнительные сведения о параметрах, управляющих загрузкой отдельных плагинов при запуске сервера, см. в разделе 7.6.1, «Установка и удаление плагинов». Если вам необходимо загрузить плагины для одного запуска сервера, когда указан параметр --skip-grant-tables (который сообщает серверу не читать системные таблицы), используйте параметр --plugin-load. См. раздел 7.1.7, «Параметры командной строки сервера».
Чтобы удалить плагин, используйте инструкцию UNINSTALL
PLUGIN.
Дополнительные сведения о загрузке плагинов см. в разделе 7.6.1, «Установка и удаление плагинов».
Чтобы узнать, какие плагины установлены, используйте инструкцию SHOW PLUGINS или запросите таблицу INFORMATION_SCHEMA в таблице PLUGINS.
Если вы пересобираете библиотеку плагина и вам нужно переустановить её, вы можете использовать любой из следующих методов:
Используйте
UNINSTALL PLUGINдля удаления всех плагинов из библиотеки, установите новый файл библиотеки плагина в каталог плагинов, а затем используйтеINSTALL PLUGINдля установки всех плагинов из библиотеки. Этот метод имеет преимущество, что его можно использовать без остановки сервера. Однако, если библиотека плагина содержит много плагинов, вам потребуется много инструкцийINSTALL PLUGINиUNINSTALL PLUGIN.Остановите сервер, установите новый файл библиотеки плагина в каталог плагинов и перезапустите сервер.
© 2025 Oracle
Licensed under the GPLv2 License.