使用SQLyog导出MySQL所有数据库会产生调用者/定义者权限错误

时间:2016-01-11 13:01:21

标签: mysql sqlyog

我们有一个使用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论坛上发帖,但没有得到回复。

1 个答案:

答案 0 :(得分:0)

问题在于用户具有SELECT权限,该权限允许将表导出函数,但没有EXECUTE权限,显然需要导出使用函数的视图。