mysql 定时任务怎么设置

怎么设置定时任务每月最后一天指定时间执行一次?
CREATE EVENT if not exists even_everyMonthLastDay_job
ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR)
on completion preserve
do call f_now_member_money_total();

--上面是设置的是每月1号凌晨1点执行,当时未生效
求解答???

假设指定时间为 23:50:00 ,以下代码以此时间为例,你可以根据情况改变相应值。

DELIMITER $$

CREATE EVENT ISRSP
ON SCHEDULE
    EVERY 1 MONTH  //每隔一个月重复执行
    STARTS '2017-04-30 23:50:00'  //从四月份的最后一天指定时间开始
    ON COMPLETION PRESERVE
DO
BEGIN
    DECLARE rightnow DATETIME;
    DECLARE hh,mm TINYINT;

    SET rightnow = NOW();
    SET hh = HOUR(rightnow);
    SET mm = MINUTE(rightnow);

    IF DATE(rightnow) = LAST_DAY(DATE(rightnow)) THEN
        IF hh = 23 THEN
            IF mm = 50 THEN
                CALL IncidentsSummaryRecorder();
            END IF;
        END IF;
    END IF;

END $$

DELIMITER ;