Maison >base de données >tutoriel mysql >定时执行MySQL语句的二种方法

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

WBOY
WBOYoriginal
2016-06-07 16:59:201161parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn