Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengautomasikan Pertanyaan MySQL dalam Cron Jobs Tanpa Memasukkan Kata Laluan Secara Manual?

Bagaimana untuk mengautomasikan Pertanyaan MySQL dalam Cron Jobs Tanpa Memasukkan Kata Laluan Secara Manual?

Barbara Streisand
Lepaskan: 2024-11-17 04:37:03
asal
730 orang telah melayarinya

How to Automate MySQL Queries in Cron Jobs Without Manually Entering Passwords?

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan