PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

定时执行MySQL语句的二种方法

原创
2016-06-07 16:59:20 895浏览

linux 中/usr/bin/mysql -uquot;usernamequot; -pquot;passwordquot; dbname --execute=quot;delete from table1;select *

需求:在某些活动结束时,需要在某个时间点及时统计查询游戏数据。

实现:两种方法

一、使用mysql.exe+at/计划任务

D:\mysql\bin\mysql.exe -u"username" -p"password" dbname --execute="delete from table1;select * from table2" >> c:\result.txt

打开指定数据库,并执行了两条sql语句,并将结果导向到c盘的result.txt文件。然后可以使用at 命令和计划任务来定时执行,当然可以再加上ftp命令来将查询结果文件上传到指定机器上。

linux 中

/usr/bin/mysql -u"username" -p"password" dbname --execute="delete from table1;select * from table2" >> /tmp/result

特点:需要开启计划任务。

二、 使用mysql events功能

先开启此功能

set global event_scheduler = 1;

下面的语句就是在指定时间运行定义好的sql语句,,更加详细的用法可以查看mysql帮助文档。

create event test on schedule at timestamp '2009-09-09 09:00:00' do select * from db1.table1 into outfile 'result.txt ';

特点:mysql版本必须是5.1.6以上才支持,同时会对性能可能会造成一定程度的影响。

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。