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

Truncate Mysql Table Cron Job?

Den mest sandsynlige årsag til, at din kommando fejler, er, at du ikke har angivet en absolut sti til mysql. Gør det på denne måde

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

Det burde fungere fint.

Det er fordi cron kører under en konto, som enten ikke har PATH defineret eller ikke inkluderer en sti til mysql.

Nu er der en anden mulighed - ved at bruge en MySQL-begivenhed

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

Hvis du beslutter dig for at gå med en begivenhedstilgang:

  • brug SHOW EVENTS for at liste oprettede begivenheder med deres attributter (f.eks. status )
  • brug SHOW PROCESSLIST for at kontrollere, om begivenhedsplanlæggeren er aktiveret. Hvis den er ON, skulle du se en proces "Daemon " af bruger "event_scheduler ".
  • brug SET GLOBAL event_scheduler = ON; for at aktivere skemalæggeren, hvis den ikke er aktiveret i øjeblikket.
  • Mere om konfiguration af begivenhedsplanlægger læs her



  1. Postgres SSLMode-værdi kræver ugyldig, når SSL-understøttelse ikke er kompileret ved hjælp af udenlandsk dataindpakning

  2. Problem med mysqldump:--defaults-extra-file-indstillingen fungerer ikke som forventet

  3. Hvordan vælger man ORDER BY kolonne og RAND() begge?

  4. Hvordan gemmer man decimal i MySQL?