Cron ジョブとしての自動 MySQL クエリ
質問:
MySQL クエリは可能ですか手動パスワードなしで cron ジョブとして実行されるエントリ?
背景:
目標は、cron ジョブを使用して、1 週間より古い MySQL データベース エントリを毎日削除することです。実行する PHP クエリは次のとおりです:
mysql_query("DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7");
解決策:
オプション 1: MySQL Event Scheduler
をお勧めしますcron ジョブの代わりに MySQL のイベント スケジューラを使用します。有効にするには:
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 中国語 Web サイトの他の関連記事を参照してください。