我有个问题,我用的是OB4.3.5 我想对存储过程设置最小可查定义和执行的权限,应该如何设置。
我用了 GRANT SHOW_ROUTINE ON . to SyncAppRole 但是报错ErrorCode = 1149, SQLState = 42000, Details = You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use.是不是还没兼容 MySQL8.0
7 个赞
淇铭
2025 年8 月 13 日 17:07
#6
目前还未完全适配mysql 8.0的版本 有些语法也是不支持的
2 个赞
彭浩
2025 年8 月 13 日 17:35
#7
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013828 执行权限可以看下这个文档。
GRANT SHOW_ROUTINE ON . TO ‘root’; 这种语法确实还不兼容,这在mysql中是8x才支持的语法,ob还未全面兼容。
2 个赞
请查看OB官方文档,SQL语法支持那部分,希望对你有帮助!
2 个赞
SeaRun
2025 年8 月 18 日 14:05
#13
GRANT EXECUTE`实现最小化的执行权限,Select不得行吧
1 个赞
淇铭
2025 年8 月 18 日 17:14
#14
jeffrey75:
OB4.3.5
能提供一下 详细的信息版本么?
SHOW VARIABLES like ‘version_comment’;
1 个赞
皇甫侯
2025 年11 月 8 日 21:24
#16
mysql租户和oracle租户的需要的权限还有点不一样。。
1 个赞
OB 4.3.5 MySQL 模式暂不支持 SHOW_ROUTINE(MySQL 8.0 语法未完全兼容)。替代:GRANT EXECUTE ON PROCEDURE db.* TO role。查看定义用 SHOW CREATE PROCEDURE 或 mysql.proc 查询。