Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengautomasikan Pelaksanaan Pertanyaan MySQL sebagai Kerja Cron Tanpa Kemasukan Kata Laluan Manual?
Pertanyaan MySQL automatik sebagai Kerja Cron
Soalan:
Bolehkah pertanyaan MySQL dilaksanakan sebagai tugas cron tanpa kemasukan kata laluan manual?
Latar Belakang:
Matlamatnya adalah untuk membersihkan entri pangkalan data MySQL yang lebih lama daripada seminggu setiap hari menggunakan tugas cron. Pertanyaan PHP untuk dilaksanakan ialah:
mysql_query("DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7");
Penyelesaian:
Pilihan 1: MySQL Event Scheduler
Ia disyorkan untuk menggunakan penjadual acara MySQL dan bukannya tugas cron. Untuk mendayakannya:
SET GLOBAL event_scheduler = ON;
Buat acara:
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;
Pilihan 2: Menjalankan Fail PHP
Untuk menjalankan fail PHP sebagai kerja cron, mula-mula simpan pertanyaan sebagai fail PHP:
Kemudian, ubah suai fail crontab:
crontab -e
Tambah baris berikut:
* * * * * /usr/bin/php /path/to/php_file.php
Atas ialah kandungan terperinci Bagaimana untuk Mengautomasikan Pelaksanaan Pertanyaan MySQL sebagai Kerja Cron Tanpa Kemasukan Kata Laluan Manual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!