sql >> Database >  >> RDS >> Mysql

Mysql Table Cron Job afkappen?

De meest waarschijnlijke reden waarom uw opdracht faalt, is dat u geen absoluut pad voor mysql hebt opgegeven. Doe het op deze manier

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

Het zou prima moeten werken.

Dit komt omdat cron wordt uitgevoerd onder een account waarvoor geen PATH is gedefinieerd of waarin geen pad naar mysql is opgenomen.

Nu is er een andere optie - met behulp van een MySQL-gebeurtenis

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

Als je besluit om voor een evenementaanpak te gaan:

  • gebruik SHOW EVENTS om aangemaakte gebeurtenissen met hun attributen weer te geven (bijv. status )
  • gebruik SHOW PROCESSLIST om te controleren of de gebeurtenisplanner is ingeschakeld. Als het AAN is, zou je een proces "Daemon . moeten zien " door gebruiker "event_scheduler ".
  • gebruik SET GLOBAL event_scheduler = ON; om de planner in te schakelen als deze momenteel niet is ingeschakeld.
  • Meer over het configureren van de gebeurtenisplanner lees hier



  1. Hele woorden matchen met punttekens in MySQL

  2. hoe query (zoeken) van sql op Amazon Athena die JSON-waarde heeft?

  3. Doctrine 2 mapping die verwijst naar unieke sleutel

  4. MySQL retourneert eerste en laatste record voor opeenvolgende identieke resultaten