作为 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中文网其他相关文章!