不太明白为什么授权一直报错,希望大佬们能帮忙看看
你好,OB当前没有excute权限
https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000001701129
用户具备create权限即可创建和执行存储过程。
还是不行,一直报错显示存储过程EXECUTE权限不足,授予了数据库用户所有的create权限了,ALL PRIVILEGES权限也授予了,也不行,还有什么解决方法呢?MySQL模式
show grants for 用户名;
ob版本是多少?
5.7.25-OceanBase-v4.1.0.0
show grants for 用户名; 这个呢
这个可以执行,但是后端那边调我这边过程,还是显示没有执行权限
你发的链接,能执行的权限我都试过了,但是他们那边用该用户调用就显示没有执行权限
看下操作是否有问题? 需要在业务租户下操作
测试是正常的
#在业务租户下创建普通用户pl_test,赋予create 权限即可
MySQL [(none)]> create user pl_test;
Query OK, 0 rows affected (0.03 sec)
MySQL [(none)]> grant create on *.* to pl_test;
Query OK, 0 rows affected (0.03 sec)
MySQL [(none)]> show grants for pl_test;
+----------------------------------+
| Grants for pl_test@% |
+----------------------------------+
| GRANT CREATE ON *.* TO 'pl_test' |
+----------------------------------+
#用业务租户下的pl_test用户登录,创建存储过程和执行正常
MySQL [test]> DELIMITER //
MySQL [test]> CREATE PROCEDURE proc_name1()
-> BEGIN
-> DECLARE var_name VARCHAR(20) DEFAULT 'ZhangSan';
-> SET var_name = 'LiSi';
-> SELECT var_name;
-> END //
Query OK, 0 rows affected (0.01 sec)
MySQL [test]> DELIMITER ;
MySQL [test]> CALL proc_name1();
+----------+
| var_name |
+----------+
| LiSi |
+----------+
1 row in set (0.02 sec)
没事了,大佬,谢谢指导