首页 >数据库 >mysql教程 >如何将 MySQL 查询自动执行为 Cron 作业,而无需手动输入密码?

如何将 MySQL 查询自动执行为 Cron 作业,而无需手动输入密码?

Susan Sarandon
Susan Sarandon原创
2024-11-17 07:38:03277浏览

How to Automate MySQL Query Execution as a Cron Job Without Manual Password Entry?

作为 Cron 作业的自动化 MySQL 查询

问题:

MySQL 查询可以作为 cron 作业执行,无需手动输入密码?

背景:

目标是每天使用 cron 作业清除一周以上的 MySQL 数据库条目。要执行的 PHP 查询是:

mysql_query("DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) ,  timestamp ) >=7");

解决方案:

选项 1:MySQL 事件调度程序

推荐使用 MySQL 的事件调度程序而不是 cron 作业。要启用它:

SET GLOBAL event_scheduler = ON;

创建事件:

CREATE EVENT name_of_event
ON SCHEDULE EVERY 1 DAY
STARTS '2014-01-18 00:00:00'
DO
DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) ,  timestamp ) >=7;

选项 2:运行 PHP 文件

运行 PHP 文件作为 cron 作业,首先将查询保存为 PHP 文件:

然后,修改 crontab 文件:

crontab -e

添加以下行:

* * * * * /usr/bin/php /path/to/php_file.php

以上是如何将 MySQL 查询自动执行为 Cron 作业,而无需手动输入密码?的详细内容。更多信息请关注PHP中文网其他相关文章!

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