数据复制服务 DRS-MySQL存储过程迁移上云后遇到调用权限的问题,如何解决:策略一

时间:2024-05-20 18:12:23

策略一

在测试连接页面的目标库信息中填写数据库用户名user1,所有Definer迁移到该用户下选“是”。

图1 策略一

这种策略下,源库所有存储过程和方法的Definer迁移到目标库后账号都会自动修改为user1,host改为% 。若在目标库上出现调用存储过程失败的情况,可执行如下操作:

  1. 使用uesr1账号登录到目标库RDS for MySQ L实例
  2. 如果需要使用其他账号调用存储过程,则该账号需要具有execute权限。
  3. 通过如下语句,使用user1授予其他账号执行存储过程的权限。

    其中user表示需要调用存储过程的其他账号:
    GRANT EXECUTE ON db.* TO user;

  4. 如果需要通过Java调用存储过程,则需要通过如下语句,使用user1授予其他账号查询mysql.proc表的权限。

    授权语句可参考如下语句,user表示需要调用存储过程的账号:
    GRANT SELECT ON mysql.proc TO 'user'@'%';

support.huaweicloud.com/drs_faq/drs_16_0121.html