当前位置:Gxlcms > mysql > 定时执行MySQL语句的二种方法

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

时间:2021-07-01 10:21:17 帮助过:59人阅读

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

人气教程排行