5.6.2 安装和卸载用户定义的功能
必须先将用户定义的函数(UDF)装入服务器,然后才能使用它们。 MySQL 支持在运行时加载 UDF。
要加载 UDF,请使用CREATE FUNCTION语句。例如:
CREATE FUNCTION metaphon
RETURNS STRING
SONAME 'udf_example.so';
UDF 文件的基本名称取决于您的平台。通用后缀是.so
(对于 Unix 和类 Unix 系统),.dll
(对于 Windows)。
加载 UDF 时,可从mysql.func
系统 table 中获取有关它的信息。参见第 5.6.3 节“获取用户定义的功能信息”。
CREATE FUNCTION还将 UDF 注册到mysql.func
系统 table 中,以使服务器在随后的重新启动时加载它。因此,CREATE FUNCTION要求mysql
系统数据库具有INSERT特权。
要删除 UDF,请使用DROP FUNCTION语句。例如:
DROP FUNCTION metaphon;
DROP FUNCTION卸载 UDF 并将其从mysql.func
系统 table 中删除。因此,DROP FUNCTION要求mysql
系统数据库具有DELETE特权。由于 UDF 不再在 table 中注册,因此服务器不会为以后的重新启动自动加载 UDF。
您不能使用CREATE FUNCTION重新安装以前安装的功能。要重新安装功能,请先使用DROP FUNCTION将其删除,然后使用CREATE FUNCTION重新安装。例如,如果升级到提供该函数的更新实现的 MySQL 新版本,或者重新编译已编写的函数的新版本,则需要执行此操作。否则,服务器将 continue 使用旧版本。
如果服务器使用--skip-grant-tables选项启动,则它不会查询mysql.func
table,并且不会加载此处列出的 UDF。