Spec-Zone .ru
спецификации, руководства, описания, API

23.3.2.6. Определяемые пользователем Функциональные Предосторожности Безопасности

MySQL принимает несколько мер, чтобы предотвратить неправильное употребление определяемых пользователем функций.

Объектные файлы UDF не могут быть помещены в произвольные каталоги. Они должны быть расположены в сменном каталоге сервера. Этот каталог дается значением plugin_dir системная переменная.

Использовать CREATE FUNCTION или DROP FUNCTION, Вы должны иметь INSERT или DELETE полномочие, соответственно, для mysql база данных. Это необходимо, потому что те операторы добавляют и удаляют строки из mysql.func таблица.

У UDFs должен быть по крайней мере один символ, определенный в дополнение к xxx символ, который соответствует основному xxx() функция. Эти вспомогательные символы соответствуют xxx_init(), xxx_deinit(), xxx_reset(), xxx_clear(), и xxx_add() функции. mysqld также поддерживает --allow-suspicious-udfs опция, которая управляет, ли UDFs, которые имеют только xxx символ может быть загружен. По умолчанию опция выключена, чтобы предотвратить попытки загрузки функций от совместно используемых объектных файлов кроме тех, которые содержат законный UDFs. Если у Вас есть более старые UDFs, которые содержат только xxx символ и это не могут быть перекомпилированы, чтобы включать вспомогательный символ, может быть необходимо определить --allow-suspicious-udfs опция. Иначе, следует избежать включать этой возможности.