Maison >base de données >tutoriel mysql >Comment automatiser l'exécution des requêtes MySQL en tant que tâche Cron sans saisie manuelle du mot de passe ?

Comment automatiser l'exécution des requêtes MySQL en tant que tâche Cron sans saisie manuelle du mot de passe ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-17 07:38:03267parcourir

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

Requête MySQL automatisée en tant que tâche Cron

Question :

Une requête MySQL peut-elle être exécuté comme une tâche cron sans mot de passe manuel entrée ?

Contexte :

L'objectif est de purger quotidiennement les entrées de la base de données MySQL datant de plus d'une semaine à l'aide d'une tâche cron. La requête PHP à exécuter est :

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

Solution :

Option 1 : Planificateur d'événements MySQL

C'est recommandé pour utiliser le planificateur d'événements de MySQL au lieu des tâches cron. Pour l'activer :

SET GLOBAL event_scheduler = ON;

Créer un événement :

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 : Exécuter un fichier PHP

Pour exécuter un fichier PHP en tant que tâche cron, enregistrez d'abord la requête sous forme de fichier PHP :

Ensuite, modifiez la crontab fichier :

crontab -e

Ajoutez la ligne suivante :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn