Mysql
 sql >> Database >  >> RDS >> Mysql

Troncare Mysql Table Cron Job?

Il motivo più probabile per cui il tuo comando non riesce è che non hai fornito un percorso assoluto per MySQL. Fallo in questo modo

/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^

Dovrebbe funzionare bene.

È perché cron viene eseguito con un account che non ha PATH definito o non include un percorso per mysql.

Ora c'è un'altra opzione:usare un evento MySQL

CREATE EVENT update_date_column 
  ON SCHEDULE EVERY 1 HOUR STARTS NOW()
  DO TRUNCATE TABLE juicebox;

Se deciderai di optare per un approccio a un evento:

  • usa SHOW EVENTS per elencare gli eventi creati con i loro attributi (ad es. status )
  • usa SHOW PROCESSLIST per verificare se il pianificatore di eventi è abilitato. Se è attivo dovresti vedere un processo "Daemon " per utente "event_scheduler ".
  • usa SET GLOBAL event_scheduler = ON; per abilitare lo scheduler se al momento non è abilitato.
  • Ulteriori informazioni sulla configurazione dell'utilità di pianificazione degli eventi, leggi qui