mysql定時執行某一存儲過程,並實現mysql數據庫的定時備份

mysql存儲過程
1、存儲過程(Stored Procedure)是一組爲了完成特定功能的SQL語句集,經編譯後存儲在數據庫中,用戶通過指定存儲過程的名字並給定參數(如果該存儲過程帶有參數)來調用執行它。
語法:

CREATE PROCEDURE  過程名([[IN|OUT|INOUT] 參數名 數據類型[,[IN|OUT|INOUT] 參數名 數據類型…]]) [特性 ...] 過程體

DROP PROCEDURE IF EXISTS Proc;
CREATE PROCEDURE Proc()
BEGIN
INSERT INTO t_test (tname) VALUES ('張三');
END;
查看已創建的存儲過程:
SHOW PROCEDURE STATUS;
SHOW CREATE PROCEDURE Proc;

2、定時器來調用存儲過程
查看定時器是否開啓
show VARIABLES LIKE '%event_sche%';
開啓定時器
SET GLOBAL event_scheduler =1;


但是每次重啓電腦。或重啓mysql服務後,會發現,事件自動關閉(event_scheduler=OFF),所以想讓事件一直保持開啓,最好修改配置文件,讓mysql服務啓動的時候開啓時間,只需要在my.ini配置文件的[mysqld]部分加上event_scheduler=ON 即可

#默認開啓事件

event_scheduler=ON


3、創建事件

DROP EVENT IF EXISTS timeInsert;
CREATE EVENT timeInsert
ON SCHEDULE AT '2017-08-27 17:14:00'
ON COMPLETION PRESERVE
ENABLE
DO CALL Proc();
3.1. AT 時間戳,用來完成單次的計劃任務。
3.2. EVERY 時間(單位)的數量時間單位[STARTS 時間戳] [ENDS時間戳],用來完成重複的計劃任務
在兩種計劃任務中,時間戳可以是任意的TIMESTAMP 和DATETIME 數據類型,時間戳需要大於當前時間。
在重複的計劃任務中,時間(單位)的數量可以是任意非空(Not Null)的整數式,時間單位是關鍵詞:YEAR,MONTH,DAY,HOUR,MINUTE 或者SECOND。
ON COMPLETION參數表示"當這個事件不會再發生的時候",即當單次計劃任務執行完畢後或當重複性的計劃任務執行到了ENDS階段。而PRESERVE的作用是使事件在執行完畢後不會被Drop掉,建議使用該參數,以便於查看EVENT具體信息。
參數Enable和Disable表示設定事件的狀態。Enable表示系統將執行這個事件。Disable表示系統不執行該事件。
可以用如下命令關閉或開啓事件:
ALTER EVENT event_name  ENABLE/DISABLE
[COMMENT 'comment']
註釋會出現在元數據中,它存儲在information_schema表的COMMENT列,最大長度爲64個字節。'comment'表示將註釋內容放在單引號之間,建議使用註釋以表達更全面的信息
DO sql_statement字段表示該event需要執行的SQL語句或存儲過程。這裏的SQL語句可以是複合語句,

查看事件
SHOW EVENTS;

4.創建批處理腳本copyMysql.bat備份mysql數據庫

echo 取日期、時間變量值

set filename=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

#如果mysql未加入到環境變量中則需要完整路徑C:Program_Files_MySQL_MySQL_Server_5.7_bin_mysqldump.exe
#_表示路徑分隔符
#-u表示用戶-p後面是密碼
#bill數據庫名稱
#-E導出事件
mysqldump -uroot -proot --opt --default-character-set=utf8 -e --triggers  -R -E --hex-blob --flush-logs -x bill > D:/db_backup/bill%filename%.sql
 
echo 導出已經完成  
#pause  
注意:批處理命令中路徑裏有空格的話,必須在路徑上加上雙引號!

以上使用mysqldump的進行mysql數據庫的備份,詳細瞭解請百度查看相關資料

5.windows創建定時任務(百度一下)

參考:



http://www.cnblogs.com/zoro-zero/p/6511203.html
http://www.cnblogs.com/chevin/p/5683281.html
http://blog.csdn.net/lixingshi/article/details/54375460
http://www.cnblogs.com/andyshu/p/restTime.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章