7.7.1 Установка и удаление загружаемых функций
Загружаемые функции, как следует из названия, должны быть загружены на сервер перед использованием. MySQL поддерживает автоматическую загрузку функций во время запуска сервера и ручную загрузку после этого.
Пока загружаемая функция загружена, информация о ней доступна, как описано в разделе 7.7.2 «Получение информации о загружаемых функциях».
Установка загружаемых функций
Чтобы вручную загрузить загружаемую функцию, используйте оператор CREATE
FUNCTION. Например:
CREATE FUNCTION metaphon
RETURNS STRING
SONAME 'udf_example.so';
Базовое имя файла зависит от вашей платформы. Распространённые суффиксы — .so для Unix-подобных систем и .dll для Windows.
CREATE
FUNCTION имеет следующие эффекты:
Загружает функцию на сервер, чтобы сделать её доступной сразу.
Регистрирует функцию в таблице системы
mysql.func, чтобы сделать её постоянной при перезапусках сервера. По этой причине,CREATE FUNCTIONтребует привилегииINSERTдля базы данных системыmysql.Добавляет функцию в таблицу Performance Schema
user_defined_functions, которая предоставляет информацию о времени выполнения установленных загружаемых функций. См. раздел 7.7.2 «Получение информации о загружаемых функциях».
Автоматическая загрузка загружаемых функций происходит во время обычной последовательности запуска сервера:
Функции, зарегистрированные в таблице
mysql.func, устанавливаются.Компоненты или плагины, которые устанавливаются при запуске, могут автоматически устанавливать связанные функции.
Автоматическая установка функций добавляет функции в таблицу Performance Schema
user_defined_functions, которая предоставляет информацию о времени выполнения установленных функций.
Если сервер запускается с опцией --skip-grant-tables, функции, зарегистрированные в таблице mysql.func, не загружаются и недоступны. Это не относится к функциям, установленным автоматически компонентом или плагином.
Удаление загружаемых функций
Чтобы удалить загружаемую функцию, используйте оператор DROP
FUNCTION. Например:
DROP FUNCTION metaphon;
DROP
FUNCTION имеет следующие эффекты:
Разгружает функцию, чтобы сделать её недоступной.
Удаляет функцию из таблицы системы
mysql.func. По этой причине,DROP FUNCTIONтребует привилегииDELETEдля базы данных системыmysql. Поскольку функция больше не зарегистрирована в таблицеmysql.func, сервер не загружает её при последующих перезапусках.Удаляет функцию из таблицы Performance Schema
user_defined_functions, которая предоставляет информацию о времени выполнения установленных загружаемых функций.
DROP
FUNCTION не может использоваться для удаления загружаемой функции, установленной автоматически компонентами или плагинами, а не с помощью CREATE
FUNCTION. Такая функция также удаляется автоматически, когда компонент или плагин, который её установил, удаляется.
Переустановка или обновление загружаемых функций
Для переустановки или обновления общей библиотеки, связанной с загружаемой функцией, выполните оператор DROP
FUNCTION, обновите общую библиотеку, а затем выполните оператор CREATE
FUNCTION. Если вы сначала обновите общую библиотеку, а затем используете DROP
FUNCTION, сервер может неожиданно завершить работу.
© 2025 Oracle
Licensed under the GPLv2 License.