mysql定时备份及删除历史数据
應(yīng)用:發(fā)送到mysql數(shù)據(jù)庫的備份及刪除歷史數(shù)據(jù)
一、定時備份
點擊自動運行,新建批處理作業(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ù)
/*刪除一天前的所有數(shù)據(jù),86400000是24h*/
DELETE FROM xz_sensor_data WHERE sensor_suffix_time <= (unix_timestamp() * 1000 - 86400000)
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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态规划求解多段图最短路径
- 下一篇: (附源码)springboot+mysq