任务MySQL定时自动执行任务指南(mysql定时执行)
MySQL 定时自动执行任务指南
任务自动执行能够大大提高工作效率。MySQL实现定时自动执行任务旨在满足一些定期自动执行要求,比如每天执行某一查询、定时清理某些表等。考虑到兼容性问题,MySQL实现定时任务最佳实践指南涉及配置文件、SQL脚本以及按需用户自定义许可文件,但是这里仅着重介绍MySQL的实现方案。
MySQL的实现的定时任务主要有两种方法:
第一种方法是利用MySQL提供的Event定时器,可以在MySQL配置文件中定义需要执行的SQL脚本,通过Event定时器设定在某一时刻执行某一定期任务,其关键代码如下:
CREATE EVENT IF NOT EXISTS `myEvent`
ON SCHEDULE
EVERY 3 HOUR
STARTS ‘2018-02-17 23:00:00’
DO
BEGIN
// 请复制要执行的SQL脚本语句到这
END
第二种方法是利用MySQL的授权机制,通过用户自定义的许可文件来实现定时任务,可以让定期任务在设定的时刻执行,支持的SQL语句主要有select、update、delete、insert等,其关键代码如下:
CREATE EVENT IF NOT EXISTS `myEvent`
ON SCHEDULE
EVERY 3 HOUR
STARTS ‘2018-02-17 23:00:00’
DO
BEGIN
SET sql_log_bin=ON;
CREATE USER demo@’localhost’ IDENTIFIED BY ‘123456’;
GRANT EXECUTE ON myEvent.* TO demo@’localhost’;
END
通过以上介绍,我们可以很清楚地知道MySQL实现定时自动执行任务的方法,这只是一个指南,并不能完全避免出现大量问题,具体情况应根据具体业务进行调整。