Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengautomasikan Pelaksanaan Pertanyaan MySQL sebagai Kerja Cron Tanpa Kemasukan Kata Laluan Manual?

Bagaimana untuk Mengautomasikan Pelaksanaan Pertanyaan MySQL sebagai Kerja Cron Tanpa Kemasukan Kata Laluan Manual?

Susan Sarandon
Susan Sarandonasal
2024-11-17 07:38:03279semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn