mysql定时备份及删除历史数据

应用:发送到mysql数据库的备份及删除历史数据

一、定时备份

  1. 备份方式:使用的是navicat premium工具的自动运行中的备份功能:

点击自动运行,新建批处理作业,在下方点击备份,选择需要备份的数据库,选择可用的工作,双击

2.列表中显示了已经选择的工作:

3.点击保存,提示输入文件名

4. 输入数据备份,这样自动运行列表中就有了:

5.点击设置任务计划,弹出框进行常规和触发器设置:

 

新建触发器

 

6.定时任务设置成功后,点击自动运行

双击数据备份任务,点击开始

二、定时删除历史数据

  1. 在navicat premium左侧的数据库列表中,右键单击事件,点击新建事件:

  2. 在定义空白框中输入:
    /*删除一天前的所有数据,86400000是24h*/
    DELETE FROM xz_sensor_data WHERE sensor_suffix_time <= (unix_timestamp() * 1000 - 86400000)
  3. 设置计划
  4. 设置完成后,点击保存,提示输入事件名,delete_data

  5. 此事件的其他信息
  6. 关于mysql的事件定时任务(参考)
  7. mysql数据库,指定到某一时间,它就自动执行相应的操作?sql语句该怎么写?

    mysql要实现定时执行sql语句就要用到Event

    具体操作如下:

    先看看看event 事件是否开启

    show variables like '%sche%';

    如没开启,则开启。需要数据库超级权限

    set global event_scheduler =1;

    创建存储过程 update_a (注:就是你要执行的sql语句)

    mysql> create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id);

    创建一个定时任务:event e_updateA

    mysql> create event if not exists e_updateA

    -> on schedule every 60 second ---设置60秒执行一次

    -> on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行

    -> on completion preserve

    -> do call update_a(); ---执行update_a()存储过程

    创建Event之后,sql语句就定时执行一次。

    关闭事件任务

    mysql> alter event e_updateA ON

    -> COMPLETION PRESERVE DISABLE;

    开启事件任务

    mysql> alter event e_updateA ON

    -> COMPLETION PRESERVE ENABLE;

    –查看时间调度器是否开启

    SHOW VARIABLES LIKE 'event_scheduler';

    SELECT @@event_scheduler;

    –开启时间调度器

    SET GLOBAL event_scheduler = 1; 

    SET GLOBAL event_scheduler = ON;

    –创建定时任务

    create event if not exists e_test

    on schedule every 30 second

    on completion preserve

    do call day_update();

    CREATE EVENT if not exists event_day_update

    ON SCHEDULE EVERY 1 DAY STARTS '2016-01-04 00:20:00'

    ON COMPLETION PRESERVE

    ENABLE

    DO call day_update();  --day_update是存储过程

    –开启定时任务

    alter event event_day_update ON COMPLETION PRESERVE ENABLE;

    –关闭定时任务

    alter event event_day_update ON COMPLETION PRESERVE DISABLE;

    设置事件在mysql启动时自动开启方法

    1. 开启事件,通过动态参数修改:SET GLOBAL event_scheduler = ON;

    2. 在my.cnf中添加event_scheduler=ON。(如果没有添加的话,mysql重启事件又会回到原来的状态)

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值