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

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