【问题标题】:Export MySQL all databases with SQLyog produces invoker / definer rights error使用 SQLyog 导出 MySQL 所有数据库会产生调用者/定义者权限错误
【发布时间】:2016-04-15 19:15:25
【问题描述】:

我们有一个使用 SQLyog 导出所有数据库(包括 mysql)的作业,该作业每晚运行。最近,我们添加了一个使用函数的视图:

SELECT
     ps.SubmissionDate SubmissionDate,
     ps.TransactionNo,
     ps.FormNumber
FROM
     premier_submissions ps
UNION
SELECT
     psh.LastSubmissionDate SubmissionDate,
     psh.TransactionNo,
     psh.FormNumber
FROM
     premier_submissionhistory psh
UNION
SELECT
     SPLIT_STR (ps.SubmissionDates, '*', 1) SubmissionDate,
     ps.TransactionNo,
     ps.FormNumber
FROM
     premier_submissions ps
UNION
SELECT
     SPLIT_STR (psh.ResubmissionDates, '*', 1) SubmissionDate,
     psh.TransactionNo,
     psh.FormNumber
FROM
     premier_submissionhistory psh

现在当这个导出作业运行时,我们得到这个错误:

“查看‘pride.charges_by_submission_date’引用无效表 或列或函数或视图的定义者/调用者无权 使用它们”

函数 SPLIT_STR 不是新的,可以很好地导出。更奇怪的是,我可以创建一个只导出这个视图和函数的作业,而且效果很好。仅当我导出所有内容并且一致时,该作业才会失败 - 每次都会发生错误。是的,我已经检查了正在执行备份的帐户的权限。我在 SQLyog 论坛上发帖,没有得到任何回应。

【问题讨论】:

    标签: mysql sqlyog


    【解决方案1】:

    问题在于用户有 SELECT 权限,允许将函数导出到表中,但没有 EXECUTE 权限,这显然是导出使用函数的视图所必需的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 2019-01-24
      • 2021-04-06
      • 1970-01-01
      • 2020-10-26
      • 2011-06-14
      相关资源
      最近更新 更多