Spec-Zone.ru › MySQL Connectors 1.0

9.2.4 mysql_load_plugin()

struct st_mysql_client_plugin *
mysql_load_plugin(MYSQL *mysql,
                  const char *name,
                  int type,
                  int argc,
                  ...)

Описание

Загружает плагин клиента MySQL, указанный по имени и типу. Возникает ошибка, если тип неверный или плагин не может быть загружен.

Невозможно загрузить несколько плагинов одного типа. Возникает ошибка, если вы пытаетесь загрузить плагин типа, который уже загружен.

Укажите аргументы следующим образом:

  • mysql: Указатель на структуру MYSQL. API плагина не требует подключения к серверу MySQL, но эта структура должна быть должным образом инициализирована. Структура используется для получения информации, связанной с подключением.

  • name: Имя плагина для загрузки.

  • type: Тип плагина для загрузки или −1 для отключения проверки типа. Если тип не −1, для загрузки рассматриваются только плагины, соответствующие указанному типу.

  • argc: Количество последующих аргументов (0, если их нет). Интерпретация последующих аргументов зависит от типа плагина.

Другой способ загрузки плагинов — установить переменную среды LIBMYSQL_PLUGINS в список имён плагинов, разделенных точкой с запятой. Например:

export LIBMYSQL_PLUGINS="myplugin1;myplugin2"

Плагины, указанные по имени в LIBMYSQL_PLUGINS, загружаются, когда клиентская программа вызывает mysql_library_init(). Если при загрузке этих плагинов возникнут проблемы, ошибка не сообщается.

Переменная среды LIBMYSQL_PLUGIN_DIR может быть установлена в имя каталога, в котором следует искать клиентские плагины. Эта переменная используется двумя способами:

  • При предварительной загрузке клиентских плагинов значение опции недоступно, поэтому загрузка клиентских плагинов завершается неудачей, если плагины не расположены в жёстко заданном каталоге по умолчанию. Если плагины расположены в другом месте, переменную среды LIBMYSQL_PLUGIN_DIR можно установить в соответствующий каталог, чтобы обеспечить успешность предварительной загрузки плагинов.

  • Для явной загрузки клиентских плагинов функции C API mysql_load_plugin() и mysql_load_plugin_v() используют значение LIBMYSQL_PLUGIN_DIR, если оно существует, и опция не задана. Если опция задана, функции mysql_load_plugin() и mysql_load_plugin_v() игнорируют LIBMYSQL_PLUGIN_DIR.

Значения возврата

Указатель на плагин, если он был загружен успешно. NULL, если произошла ошибка.

Ошибки

Для проверки ошибок вызовите функцию mysql_error() или mysql_errno(). См. Раздел 5.4.16, «mysql_error()» и Раздел 5.4.15, «mysql_errno()».

Пример

MYSQL mysql;

if(!mysql_load_plugin(&mysql, "myplugin",
                      MYSQL_CLIENT_AUTHENTICATION_PLUGIN, 0))
{
    fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
    exit(-1);
}

См. также

См. также Раздел 9.2.4, «mysql_load_plugin()», Раздел 5.4.16, «mysql_error()», Раздел 5.4.15, «mysql_errno()».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/c-api-8.0-en/mysql-load-plugin.html

Spec-Zone.ru

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