sql >> Databáze >  >> RDS >> Mysql

Zkrátit Mysql Table Cron Job?

Nejpravděpodobnějším důvodem selhání vašeho příkazu je, že jste nezadali absolutní cestu pro mysql. Udělejte to takto

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

Mělo by to fungovat dobře.

Je to proto, že cron se spouští pod účtem, který buď nemá definovanou PATH, nebo neobsahuje cestu k mysql.

Nyní je tu další možnost – pomocí události MySQL

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

Pokud se rozhodnete použít událostní přístup:

  • použijte SHOW EVENTS pro seznam vytvořených událostí s jejich atributy (např. status )
  • použijte SHOW PROCESSLIST zkontrolujte, zda je povolen plánovač událostí. Pokud je ZAPNUTO, měli byste vidět proces „Daemon " od uživatele "event_scheduler ".
  • použijte SET GLOBAL event_scheduler = ON; povolit plánovač, pokud není aktuálně povolen.
  • Další informace o konfiguraci plánovače událostí si přečtěte zde



  1. Jak používat mysqlimport ke čtení výsledku mysqldump --databases

  2. Zdá se, že nemohu připojit svou stránku PHP k testovacímu serveru SQL a databázi

  3. Mohu změnit pořadí výběrů SQL po uplatnění limitu?

  4. Nesprávný soubor klíče pro tabulku '/tmp/#sql_3c51_0.MYI' zkuste jej opravit