我已经用用户 db_owner (Definer = db_owner ,SQL安全定义程序)创建了一个存储过程。此过程从表中选择一些数据。 db_owner 通过角色对他的数据库的所有表拥有完全选择权限。执行该程序效果很好,也可以从该表中选择。 另一个用户 db_connect 具有该过程的执行特权,正在执行的过程也可以正常工作,但出现错误“错误1142(42000):SELECT命令被拒绝给用户 db_owner' @表“ xxx”的“主机””
如果我不使用角色就授予用户 db_owner 的特权(将db.'xxx'上的db.owner授予db_owner @'host')。有谁有更好的主意吗?我想使用角色。
MariaDB 10.3