本文主要**
還加入一些自己在執行過程中遇到的問題和解決方法。
5.1版本以後,mysql支援定時執行(event)的功能,就跟linux的crontab差不多。
先檢視一下你的msyql版本,查詢版本資訊的sql語句:
select version()
確定版本支援之後,再檢視一下event是否開啟:
show variables like 』%sche%』;
如果未開啟,那如何開啟呢?
show variables like 』%sche%』;
set global event_scheduler =1;
show variables like 』%sche%』;
一般定時執行有2種:
1、從具體乙個時間點開始,每隔一段時間執行一次;
從現在開始,每30秒執行一次
create event if not exists e_test
on schedule every 30 second starts now()
on completion preserve
doinsert into sdb_yoyi (yoyiscid,orderid) values(2,3)
2、從具體乙個時間點開始,在當日的某個時間點進行執行;
每個月的一號凌晨1點執行
create event if not exists e_test2
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
doinsert into sdb_yoyi (yoyiscid,orderid) values(2,3)
也可以對事件任務進行關閉:
alter event e_test on
completion preserve disable;
對已經關閉的事件任務進行開啟:
alter event e_test on
completion preserve enable;
我的實踐:
我想要的是往test資料庫的gpsdemo表定時插入資料:
開始是在mysql的圖形介面輸入語句:
create event if not exists e_test
on schedule every 30 second starts now()
on completion preserve
doinsert into gpsdemo (***)values (***)
出現錯誤:
整了一會兒沒有解決,還好我機智,直接在命令列輸入,如下:
cmd d:
d:\mysql-5.6.24-win32.1432006610\mysql-5.6.24-win32\bin
進入mysql的安裝路徑
mysql -u root -p test
test資料庫
password:(輸入密碼)
create event if not exists e_test
on schedule every 30 second starts now()
on completion preserve
doinsert into gpsdemo (***)values (***);(記得這個分號)
ok~~~~完成了!!!
2016.8.12北京,上午天兒有點暗,中午下了場大暴雨,奧運到風味的那小段路被淹沒了,分分鐘看海的節奏~
還有三天就放假了~啦啦啦~~~
mysql如何定時執行
5.1版本以後,mysql支援定時執行 event 的功能,就跟linux的crontab差不多。先檢視一下你的msyql版本,查詢版本資訊的sql語句 select version 確定版本支援之後,再檢視一下event是否開啟 show variables like sche 如果未開啟,那如何...
如何讓指令碼定時執行
一 計畫任務 1.非root使用者建立計畫任務 crontab u bin e crondtab u bin l 檢視方法 ls var spool cron 所有計畫任務存放目錄 2.高階crontab 篡改乙個系統級別的計畫任務 ls etc cron 按兩下tab鍵檢視 cron.d 系統級別...
mysql定時執行sql語句
登入mysql伺服器 mysql u root p 檢視event是否開啟 show variables like sche 將事件計畫開啟 set global event scheduler 1 建立儲存過程test create procedure test begin update exam...