截断Mysql表Cron作业?

时间:2014-01-29 04:31:09

标签: mysql cron

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

mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juicebox"

我正在使用它:

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

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

1 个答案:

答案 0 :(得分:7)

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

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

它应该可以正常工作。

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


现在还有另一种选择 - 使用MySQL event

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

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

  • 使用SHOW EVENTS列出已创建的事件及其属性(例如status
  • 使用SHOW PROCESSLIST检查事件调度程序是否已启用。如果它处于开启状态,您应该会看到用户“Daemon”的流程“event_scheduler”。
  • 如果当前未启用调度程序,请使用SET GLOBAL event_scheduler = ON;启用调度程序。
  • 有关配置事件调度程序的更多信息,请阅读here