截断Mysql表Cron作业?

Ham*_*ese 2 mysql cron

我在如何使用cron作业截断Mysql表时遇到了一些麻烦.无论我尝试什么,我似乎无法让数据库清除表..感谢您的帮助.

mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juicebox"
Run Code Online (Sandbox Code Playgroud)

我用这个:

http://i.stack.imgur.com/FUmow.png

&&/var/lib/mysql/fruitloops_juicebox添加路径仍然没有解决问题...我不明白什么是错的.

pet*_*erm 8

您的命令失败的最可能原因是您没有为mysql提供绝对路径.这样做吧

/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

它应该工作得很好.

这是因为cron在一个帐户下执行,该帐户既没有定义PATH,也没有包含mysql的路径.


现在有另一种选择 - 使用MySQL事件

CREATE EVENT update_date_column 
  ON SCHEDULE EVERY 1 HOUR STARTS NOW()
  DO TRUNCATE TABLE juicebox;
Run Code Online (Sandbox Code Playgroud)

如果您决定采用事件方法:

  • 用于SHOW EVENTS列出已创建的事件及其属性(例如status)
  • 用于SHOW PROCESSLIST检查事件调度程序是否已启用.如果它是ON,你应该看到Daemon用户" event_scheduler" 的过程" ".
  • 用于SET GLOBAL event_scheduler = ON;启用调度程序,如果它当前未启用.
  • 更多关于配置读取事件调度这里