Spec-Zone.ru › MySQL 8.4

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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/install-plugin.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API