Heim  >  Artikel  >  Datenbank  >  Wie automatisiere ich die Ausführung von MySQL-Abfragen als Cron-Job ohne manuelle Passworteingabe?

Wie automatisiere ich die Ausführung von MySQL-Abfragen als Cron-Job ohne manuelle Passworteingabe?

Susan Sarandon
Susan SarandonOriginal
2024-11-17 07:38:03202Durchsuche

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

Automatisierte MySQL-Abfrage als Cron-Job

Frage:

Kann eine MySQL-Abfrage sein als Cron-Job ohne manuelle Passworteingabe ausgeführt?

Hintergrund:

Ziel ist es, MySQL-Datenbankeinträge, die älter als eine Woche sind, täglich mithilfe eines Cron-Jobs zu bereinigen. Die auszuführende PHP-Abfrage lautet:

mysql_query("DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) ,  timestamp ) >=7");

Lösung:

Option 1: MySQL Event Scheduler

Es wird empfohlen den Event-Scheduler von MySQL anstelle von Cron-Jobs zu verwenden. Um es zu aktivieren:

SET GLOBAL event_scheduler = ON;

Erstellen Sie ein Ereignis:

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;

Option 2: Ausführen einer PHP-Datei

Um eine PHP-Datei auszuführen Speichern Sie als Cron-Job zunächst die Abfrage als PHP-Datei:

Ändern Sie dann die Crontab-Datei:

crontab -e

Fügen Sie die folgende Zeile hinzu:

* * * * * /usr/bin/php /path/to/php_file.php

Das obige ist der detaillierte Inhalt vonWie automatisiere ich die Ausführung von MySQL-Abfragen als Cron-Job ohne manuelle Passworteingabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn