Heim >Datenbank >MySQL-Tutorial >定时执行MySQL语句的二种方法

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

WBOY
WBOYOriginal
2016-06-07 16:59:201162Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn