实现mysql定时执行任务

时间:2024-10-22 07:16:29

使用场景,每天想定时去执行一次数据同步,可以进行实现每天某个时间段去查询两个数据库表中数据进行数据同步
具体步骤包括两步:

  1. 先查看定时任务是否开启
SHOW VARIABLES LIKE 'event_scheduler'; #查看是否开启,NO表示开启,默认是OFF
SET GLOBAL event_scheduler = ON; #开启定时功能
  1. 创建定时任务
DELIMITER //
CREATE EVENT sync_data_event1
ON SCHEDULE EVERY 1 DAY
STARTS '2024-10-22 02:00:00' -- 初始启动时间
DO
BEGIN
	INSERT  INTO t_sys_user_info
	SELECT * FROM t_sys_user_info_copy1 WHERE user_account NOT IN(
	SELECT user_account FROM t_sys_user_info
);
END //   
#创建第二个任务
CREATE EVENT sync_data_event2
ON SCHEDULE EVERY 1 DAY #每天执行一次
STARTS '2024-10-22 03:00:00' -- 初始启动时间
DO
BEGIN
	INSERT  INTO t_sys_user_info
	SELECT * FROM t_sys_user_info_copy1 WHERE user_account NOT IN(
	SELECT user_account FROM t_sys_user_info
);
END //

DELIMITER ;
  1. 查看已创建成功任务
SHOW EVENTS;#查看已创建任务
DROP EVENT IF EXISTS sync_data_event1;#删除已创建任务