УСТАНОВКА ПЛАГИНА
Синтаксис
INSTALL PLUGIN [IF NOT EXISTS] plugin_name SONAME 'plugin_library'
Описание
Данное оператор устанавливает отдельный плагин из указанной библиотеки. Для установки всей библиотеки (что может потребоваться), используйте оператор INSTALL SONAME. Смотрите также Установка плагина.
plugin_name — это имя плагина, как определено в структуре объявления плагина, содержащейся в файле библиотеки. Имена плагинов не чувствительны к регистру. Для максимальной совместимости имена плагинов должны быть ограничены ASCII буквами, цифрами и символом подчеркивания, поскольку они используются в файлах исходного кода C, командных строках оболочки, скриптах M4 и Bourne Shell, а также в SQL средах.
plugin_library — это имя общей библиотеки, содержащей код плагина. Расширение файла можно опустить (что делает оператор одинаковым на всех архитектурах).
Общедоступная библиотека должна располагаться в каталоге плагинов (то есть каталоге, указанном переменной системы plugin_dir). Библиотека должна находиться в самом каталоге плагинов, а не в подкаталоге. По умолчанию, plugin_dir — это каталог плагинов в каталоге, указанном переменной конфигурации pkglibdir, но он может быть изменён путём установки значения plugin_dir во время запуска сервера. Например, установите его значение в файле my.cnf.
[mysqld] plugin_dir=/path/to/plugin/directory
Если значение plugin_dir является относительным именем пути, оно считается относительным к базовому каталогу MySQL (значение переменной системы basedir).
INSTALL PLUGIN добавляет строку в таблицу mysql.plugin, которая описывает плагин. Эта таблица содержит имя плагина и имя файла библиотеки.
INSTALL PLUGIN заставляет сервер читать файлы параметров (my.cnf) так же, как и во время запуска сервера. Это позволяет плагину подбирать любые соответствующие параметры из этих файлов. Возможно добавить параметры плагина в файл параметров даже до загрузки плагина (если используется свободный префикс). Также возможно удалить плагин, изменить my.cnf, и снова установить плагин. Перезагрузка плагина таким образом позволяет ему использовать новые значения параметров без перезапуска сервера.
INSTALL PLUGIN также загружает и инициализирует код плагина, чтобы сделать плагин доступным для использования. Плагин инициализируется путём выполнения его функции инициализации, которая обрабатывает любую настройку, которую плагин должен выполнить перед использованием.
Для использования INSTALL PLUGIN, у вас должны быть права INSERT для таблицы mysql.plugin.
При запуске сервера сервер загружает и инициализирует любой плагин, который перечислен в таблице mysql.plugin. Это означает, что плагин устанавливается с помощью INSTALL PLUGIN только один раз, а не каждый раз при запуске сервера. Загрузка плагинов при запуске не происходит, если сервер запускается с опцией --skip-grant-tables.
При завершении работы сервера он выполняет функцию деинициализации для каждого загруженного плагина, чтобы плагин имел возможность выполнить любые окончательные действия по очистке.
Если вам нужно загрузить плагины для одного запуска сервера, когда указана опция --skip-grant-tables (которая сообщает серверу не читать системные таблицы), используйте опцию --plugin-load mysqld.
IF NOT EXISTS
При использовании инструкции IF NOT EXISTS, MariaDB вернёт сообщение вместо ошибки, если указанный плагин уже существует. Смотрите SHOW WARNINGS.
Примеры
INSTALL PLUGIN sphinx SONAME 'ha_sphinx.so';
Расширение также может быть опущено:
INSTALL PLUGIN innodb SONAME 'ha_xtradb';
Из MariaDB 10.4.0:
INSTALL PLUGIN IF NOT EXISTS example SONAME 'ha_example'; Query OK, 0 rows affected (0.104 sec) INSTALL PLUGIN IF NOT EXISTS example SONAME 'ha_example'; Query OK, 0 rows affected, 1 warning (0.000 sec) SHOW WARNINGS; +-------+------+------------------------------------+ | Level | Code | Message | +-------+------+------------------------------------+ | Note | 1968 | Plugin 'example' already installed | +-------+------+------------------------------------+
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/install-plugin/