日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發(fā)布時間:2023/12/29 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql定时备份及删除历史数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

應(yīng)用:發(fā)送到mysql數(shù)據(jù)庫的備份及刪除歷史數(shù)據(jù)

一、定時備份

  • 備份方式:使用的是navicat premium工具的自動運行中的備份功能:
  • 點擊自動運行,新建批處理作業(yè),在下方點擊備份,選擇需要備份的數(shù)據(jù)庫,選擇可用的工作,雙擊

    2.列表中顯示了已經(jīng)選擇的工作:

    3.點擊保存,提示輸入文件名

    4.?輸入數(shù)據(jù)備份,這樣自動運行列表中就有了:

    5.點擊設(shè)置任務(wù)計劃,彈出框進行常規(guī)和觸發(fā)器設(shè)置:

    ?

    新建觸發(fā)器

    ?

    6.定時任務(wù)設(shè)置成功后,點擊自動運行

    雙擊數(shù)據(jù)備份任務(wù),點擊開始

    二、定時刪除歷史數(shù)據(jù)

  • 在navicat premium左側(cè)的數(shù)據(jù)庫列表中,右鍵單擊事件,點擊新建事件:

  • 在定義空白框中輸入:
    /*刪除一天前的所有數(shù)據(jù),86400000是24h*/
    DELETE FROM xz_sensor_data WHERE sensor_suffix_time <= (unix_timestamp() * 1000 - 86400000)
  • 設(shè)置計劃
  • 設(shè)置完成后,點擊保存,提示輸入事件名,delete_data

  • 此事件的其他信息
  • 關(guān)于mysql的事件定時任務(wù)(參考)
  • mysql數(shù)據(jù)庫,指定到某一時間,它就自動執(zhí)行相應(yīng)的操作?sql語句該怎么寫?

    mysql要實現(xiàn)定時執(zhí)行sql語句就要用到Event

    具體操作如下:

    先看看看event 事件是否開啟

    show variables like '%sche%';

    如沒開啟,則開啟。需要數(shù)據(jù)庫超級權(quán)限

    set global event_scheduler =1;

    創(chuàng)建存儲過程 update_a (注:就是你要執(zhí)行的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);

    創(chuàng)建一個定時任務(wù):event e_updateA

    mysql> create event if not exists e_updateA

    -> on schedule every 60 second ---設(shè)置60秒執(zhí)行一次

    -> on schedule at date_add(now(),interval 1 minute) ---在一分鐘后執(zhí)行

    -> on completion preserve

    -> do call update_a(); ---執(zhí)行update_a()存儲過程

    創(chuàng)建Event之后,sql語句就定時執(zhí)行一次。

    關(guān)閉事件任務(wù)

    mysql> alter event e_updateA ON

    -> COMPLETION PRESERVE DISABLE;

    開啟事件任務(wù)

    mysql> alter event e_updateA ON

    -> COMPLETION PRESERVE ENABLE;

    –查看時間調(diào)度器是否開啟

    SHOW VARIABLES LIKE 'event_scheduler';

    SELECT @@event_scheduler;

    –開啟時間調(diào)度器

    SET GLOBAL event_scheduler = 1;?

    SET GLOBAL event_scheduler = ON;

    –創(chuàng)建定時任務(wù)

    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是存儲過程

    –開啟定時任務(wù)

    alter event event_day_update ON COMPLETION PRESERVE ENABLE;

    –關(guān)閉定時任務(wù)

    alter event event_day_update ON COMPLETION PRESERVE DISABLE;

    設(shè)置事件在mysql啟動時自動開啟方法

    1. 開啟事件,通過動態(tài)參數(shù)修改:SET GLOBAL event_scheduler = ON;

    2. 在my.cnf中添加event_scheduler=ON。(如果沒有添加的話,mysql重啟事件又會回到原來的狀態(tài))

  • 總結(jié)

    以上是生活随笔為你收集整理的mysql定时备份及删除历史数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。