MySQL查询不在cronjob中运行

时间:2013-07-21 01:30:10

标签: mysql bash terminal

我的问题是:

mysql -u root -pmypassword -D cache -e "DELETE FROM cache WHERE job IN('SET', 'UO', 'AV');"

MySQL查询不能与cronjob一起运行。我确信cronjob会自动启动,因为其余的代码(mysqldump)正在运行。

#!/usr/local/bin/bash

mysql -u mysql-u1494 -pmy-password -D cache -e "DELETE FROM cache WHERE job IN('SET', 'UO', 'AV');"

/usr/local/bin/mysqldump --skip-lock-tables --ignore-table=log.log --user="mysql-u1494" --password="my-password" names > dump.sql

当我在终端内手动运行此命令时,它可以正常工作。所以问题是,为什么这个查询不运行?

1 个答案:

答案 0 :(得分:1)

可能的原因是

  1. 因为您没有提供mysql的完整路径
  2. 您的密码包含需要转义的字符
  3. 尝试更改

    mysql -u mysql-u1494 -pmy-password -D cache -e "DELETE FROM cache WHERE job IN('SET', 'UO', 'AV');"
    

    /usr/local/bin/mysql -u mysql-u1494 -p"my-password" -D cache -e "DELETE FROM cache WHERE job IN('SET', 'UO', 'AV');"
    ^^^^^^^^^^^^^^                        ^           ^