创建过程时出现“用户拒绝访问”错误

4m1*_*4j1 1 mysql stored-procedures permissions procedure-definition

当我请求我的数据库服务器 (MySQL) 时,使用 "show grants for current_user"

我注意到我有权执行程序:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, EXECUTE 
Run Code Online (Sandbox Code Playgroud)

但是当我执行包含这些指令的 sql 文件时:

DROP FUNCTION IF EXISTS 
DROP FUNCTION IF EXISTS 
DROP PROCEDURE IF EXISTS
CREATE FUNCTION 
CREATE PROCEDURE
DECLARE
CALL
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

ERROR 1044 (42000) at line 16: Access denied for user
Run Code Online (Sandbox Code Playgroud)

第 16 行包含: CREATE FUNCTION function_name( .. )

我应该有其他补助金吗?

Max*_*eul 5

来自 MySQL 文档:

创建存储例程(过程和函数)需要 CREATE ROUTINE 权限。

例子:

GRANT CREATE ROUTINE, ALTER ROUTINE ON yourDB.* TO youUser;
Run Code Online (Sandbox Code Playgroud)

最大限度