Mengautomasikan Pertanyaan MySQL dalam Pekerjaan Cron
Menjalankan pertanyaan MySQL sebagai tugas cron adalah penting untuk mengautomasikan tugas penyelenggaraan pangkalan data. Satu cabaran biasa dengan kerja cron ialah keperluan untuk memasukkan kata laluan MySQL anda secara manual setiap kali anda menjalankan pertanyaan. Artikel ini meneroka cara untuk menangani isu ini dan menjalankan pertanyaan MySQL dengan lancar dalam kerja cron.
Penjadual Acara
Satu pendekatan ialah menggunakan penjadual acara MySQL. Dengan mendayakan ciri ini dan mencipta acara, anda boleh menjadualkan pertanyaan MySQL untuk dijalankan pada selang waktu tertentu atau pada masa tertentu. Ini menghapuskan keperluan untuk memasukkan kata laluan manual dan memastikan bahawa pertanyaan dilaksanakan dengan kerap.
Untuk mendayakan penjadual acara, anda boleh menggunakan arahan berikut:
SET GLOBAL event_scheduler = ON;
Seterusnya, anda boleh mencipta acara seperti ini:
CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2023-09-03 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7;
Acara ini akan melaksanakan pertanyaan yang ditentukan setiap hari pada tengah malam, dengan berkesan membersihkan entri lama daripada pangkalan data tanpa memerlukan campur tangan manual.
Skrip Shell
Sebagai alternatif, anda boleh mencipta skrip shell untuk menjalankan pertanyaan MySQL. Walau bagaimanapun, kaedah ini memerlukan anda untuk menentukan kelayakan MySQL dalam skrip, yang boleh menjadi kebimbangan keselamatan. Sebagai alternatif yang lebih selamat, anda boleh menggunakan MySQL boleh laku dengan pilihan -p, seperti ini:
mysql -u username -pPASSWORD -e "DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7"
Ganti nama pengguna dan KATA LALUAN dengan bukti kelayakan MySQL anda yang sebenar.
Skrip PHP
Jika anda lebih suka menggunakan PHP untuk skrip anda, anda boleh mencipta fail PHP yang mengandungi pertanyaan MySQL dan kemudian menjadualkannya untuk dijalankan sebagai tugas cron. Pendekatan ini membolehkan anda mengelak daripada menyimpan bukti kelayakan MySQL dalam skrip teks biasa, tetapi ia memerlukan pemasangan PHP pada pelayan.
Atas ialah kandungan terperinci Bagaimana untuk mengautomasikan Pertanyaan MySQL dalam Cron Jobs Tanpa Memasukkan Kata Laluan Secara Manual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!