MySQL event execution failed

原创 2015年07月10日 14:49:28
现象描述:
Master中错误日志如下:
tail -100f /data/mysql01.err
[ERROR] Event Scheduler: [test@%][QA.qa_e_p_tf] DROP command denied to user 'test'@'%' for table 'texplor_rent'
[Note] Event Scheduler: [test@%].[QA.qa_e_p_tf] event execution failed.



分析过程:
利用如下SQL 查找Event的定义如下:
SELECT e.EVENT_DEFINITION  from  information_schema.EVENTS e  
where e.EVENT_SCHEMA='QA'
and e.EVENT_NAME='qa_e_p_tf';
 

由event的定义可知,这个event调用了5个存储过程。根据错误信息
DROP command denied to user 'test'@'%' for table 'texplor_rent'
可知这个event执行失败的原因是没有test@%这个用户没有drop表texplor_rent的权限。


那么是那个存储过程中需要drop表的权限呢?
select  p.`name`,p.body from  mysql.proc p 
 where  p.db='QA' 
 and p.`name`  in  ('p_tf_ftw_area','p_tf_ftw_district','p_tf_ftw_city','p_tf_ftw_estate','p_tf_ftw_hsrentused')
 and p.body like'%texplor_rent%'
由以上SQL 查询出在上述5个存储过程中与texplor_rent表有关的有两个存储过程
p_tf_ftw_area,p_tf_ftw_estate。进一步分析这两个存储过程,发现p_tf_ftw_area,p_tf_ftw_estate中有如下语句
TRUNCATE TABLE texplor_rent;


解决方法:

GRANT DROP ON `QA`.`texplor_rent` TO 'test'@'%';


起因:开发人员要求收回数据库用户的create,alter,drop的权限。收回相关的权限后,MySQL在执行event的时候调用的
存储过程中用到了drop表的权限,所以出错。幸好是在测试环境中出的问题,如果要在生产上出现类似问题,岂不又是一次人为的事故。

相关文章推荐

Error:Execution failed for task ':app:transformClassesWithDexForDebug"

3个错误non-zero exit value 1; non-zero exit value 2; non-zero exit value 3 Error:Execution f...

Execution failed for task ':myapp:dexDebug'bin/java'' finished with non-zero exit value 2的解决思路

反正,不知道有多少人为题目标的错误烦恼,我是被整的心力憔悴.这个报错目前来看,报错原因有两个: 1.有重复的jar包 2.你的代码方法数量超过65k个.这里65k方法数是包括开源库里的方法也是算在...

关于AS用点9图时遇到的错误的解决方法Error:Execution failed for task ':app:mergeDebugResources'

今天在做一个布局文件,需要用到点9图,编译时遇到了图下的问题,百度了答案,解决方法无非两个,但都讲得不太好,所以在这里直接总结。     首先这个问题的出现,主要有几个原因①直接在AS中将jpg...

解决 Android 编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug' 的过程

3个错误non-zero exit value 1; non-zero exit value 2; non-zero exit value 3   Error:Execution fail...

Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException总结

最新项目中遇到了Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessExc...

Android Error:Execution failed for task ':app:compileDebugJavaWithJavac' 解决方案

最近Android项目开发中碰到一个异常 Google、百度搜索前两页内容浏览了一遍,总结了几种方案:   1、升级更新buildToolsVersion 到最新版本 2、升级Android...

Error:Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher bg_btn.9.png

使用Android Studio对按钮进行图片背景设置,编译时发生了一个mergeDebugResources异常。 异常原因 这个异常的意思是对资源合并发生错误,那就是我使用的图片资源有问题,而我使...

Error:Execution failed for task ':RecyclerViewDemo:mergeDebugResources'.

问题描述:博主在导入别人一个Demo时候,在编译时编译失败,打出如下错误日志信息 (一)异常log信息如下: Error:Execution failed for task ':RecyclerVi...

错误:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transfo

Execution failed for task ‘:app:transformClassesWithDexForDebug’ 错误整理一般来说出现这个 错误 就是 引用的 jar 包 重复 冲突...

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask

hive> select count(1) from customer; Query ID = hive_20151113120000_368645da-6763-4ca3-a774-8961d49...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL event execution failed
举报原因:
原因补充:

(最多只允许输入30个字)