【问题标题】:Truncate Mysql Table Cron Job?截断 Mysql 表 Cron 作业?
【发布时间】:2014-01-29 13:00:07
【问题描述】:

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

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

我正在使用这个:

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

&& /var/lib/mysql/fruitloops_juicebox 添加路径仍然不能解决问题...我不明白这是怎么回事。

【问题讨论】:

  • 您提供的命令有效吗?如果不是 - 它与 cron 有什么关系?
  • 对不起,这是一个 cron 作业,我一定弄错了。不,代码不起作用。
  • 只要您使用有效的凭据和对象名称,使用的命令没有任何问题。错误必须在其他地方。

标签: mysql cron


【解决方案1】:

您的命令失败的最可能原因是您没有为 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 检查是否启用了事件调度程序。如果它打开,您应该会看到用户“event_scheduler”的进程“Daemon”。
  • 如果当前未启用调度程序,请使用SET GLOBAL event_scheduler = ON;启用调度程序。
  • 更多关于配置事件调度阅读here

【讨论】:

  • @HamAndCheese 不客气。我很高兴这一切都为你解决了。祝你好运:)
猜你喜欢
  • 2011-07-15
  • 2012-06-02
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多