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表的权限,所以出错。幸好是在测试环境中出的问题,如果要在生产上出现类似问题,岂不又是一次人为的事故。

主从同步成功,需要删除主数据库里的其他数据库就报这种错Event Scheduler: Failed to open table mysql.event

原因:因为数据库以前安装版本和新版本不一样,拷贝的时候把内部 event信息也拷贝过来了,所以导致这种问题 解决方法: 第一步:查看从机event表数据结构 mysql> show creat...
  • ahzxj2012
  • ahzxj2012
  • 2017年01月04日 15:34
  • 705

mysql错误解决总结

1、 MySQL错误日志里出现: 140331 10:08:18 [ERROR] Error reading master configuration 140331 10:08:18...
  • u010098331
  • u010098331
  • 2016年03月10日 09:49
  • 10218

[ERROR] Event Scheduler: Failed to open table mysql.event

[ERROR] Event Scheduler: Error while loading from disk. 事件调度程序:从磁盘加载时出错。  -百度翻译  [ERROR] Event Sche...
  • snowpay
  • snowpay
  • 2016年08月03日 16:30
  • 382

1545 Failed to open mysql.event

mysql> show events; Empty set (0.01 sec) ERROR 1545 (HY000): Failed to open mysql.event1.mysql> dr...
  • haoyuexihuai
  • haoyuexihuai
  • 2017年09月19日 18:16
  • 261

程序中执行hive sql出错[FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask]

运行SQL时出了个错: SQL: INSERT OVERWRITE DIRECTORY 'result/testConsole' select count(1) from nutable;  ...
  • kexinmei
  • kexinmei
  • 2015年01月12日 09:17
  • 9410

MySQL event execution failed

现象描述: Master中错误日志如下: tail -100f /data/mysql01.err [ERROR] Event Scheduler: [test@%][QA.qa_e_p_tf]...
  • lwei_998
  • lwei_998
  • 2015年07月10日 14:49
  • 1012

Itellij IDEA启动报错

打开idea启动报错: Internal error. Please report to http://jb.gg/ide/critical-startup-errors java.lang.I...
  • u013361361
  • u013361361
  • 2016年01月05日 19:18
  • 9098

【数据库-MySql】函数 - Procedure execution failed 1054 - Unknown column 's' in 'field list'

Procedure execution failed 1054 - Unknown column 's' in 'field list' 未知字段,在使用select的后面有个字段's'在 Fro...
  • chenlu5201314
  • chenlu5201314
  • 2017年06月01日 11:49
  • 848

【数据库-MySql】Procedure execution failed 1265 - Data truncated for column 'ListCount' at row 3

Procedure execution failed 1265 - Data truncated for column 'ListCount' at row 3 数据被截断:请使用合适的数据类型进行数...
  • chenlu5201314
  • chenlu5201314
  • 2017年06月01日 11:58
  • 177

Mysql Linux安装和事件调度器(Event Scheduler)

MySQL安装 一、下载MySQL安装文件  完全安装MySQL需要下面6个文件:  MySQL-server-community-5.1.26-0.rhel4.i386.rpm  MySQL-...
  • yangyangye
  • yangyangye
  • 2014年12月15日 20:23
  • 2355
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL event execution failed
举报原因:
原因补充:

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