2014-01-29 68 views
2

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

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

我使用这个:

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

& &在/ var/lib中/ MySQL的/ fruitloops_juicebox添加路径仍然不能解决问题......我不明白什么错误。

+0

请问你提供工作的命令?如果没有 - 与cron有什么关系? – zerkms

+0

对不起,它是一个cron的工作,我一定误会了它。没有代码不起作用。 – HamAndCheese

+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来检查事件调度器是启用。如果它打开,您应该看到用户“event_scheduler”的进程“Daemon”。
  • 使用SET GLOBAL event_scheduler = ON;启用调度程序,如果它当前未启用。
  • 更多关于配置事件调度表中读取here
+0

@peterm我在主帖子中添加了一些信息我仍然有问题... – HamAndCheese

+0

谢谢彼得。 :) – HamAndCheese

+0

@HamAndCheese你很受欢迎。我很高兴这一切都为你解决。祝你好运 :) – peterm