2014-01-29 105 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