我在如何使用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添加路径仍然没有解决问题...我不明白什么是错的.
您的命令失败的最可能原因是您没有为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;启用调度程序,如果它当前未启用.