sql >> Databasteknik >  >> RDS >> Mysql

Trunkate Mysql Table Cron Job?

Den mest troliga anledningen till att ditt kommando misslyckas är att du inte angav en absolut sökväg för mysql. Gör så här

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

Det borde fungera bra.

Det beror på att cron körs under ett konto som antingen inte har PATH definierat eller inte inkluderar en sökväg till mysql.

Nu finns det ett annat alternativ - att använda en MySQL-event

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

Om du bestämmer dig för att gå med en händelsestrategi:

  • använd SHOW EVENTS för att lista skapade händelser med deras attribut (t.ex. status )
  • använd SHOW PROCESSLIST för att kontrollera om händelseschemaläggaren är aktiverad. Om den är PÅ bör du se en process "Daemon " av användaren "event_scheduler ".
  • använd SET GLOBAL event_scheduler = ON; för att aktivera schemaläggaren om den för närvarande inte är aktiverad.
  • Mer om att konfigurera händelseschemaläggaren läs här



  1. SQL inte lika med (!=) Operator för nybörjare

  2. mysql LADDA DATAINFIL med auto-increment primärnyckel

  3. Inspektera slutet av ett långt variabelt värde i VBA

  4. yii2 hur man använder sökning med sqldataProvider