MySQL 查询不在 cronjob 内运行

标签 mysql bash terminal

我的问题是:

mysql -u root -pmypassword -D cache -e "从缓存中删除作业 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. 因为您没有提供 mysql 的完整路径
  2. 您的密码包含需要转义的字符

尝试改变

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');"
^^^^^^^^^^^^^^                        ^           ^

关于MySQL 查询不在 cronjob 内运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17768253/

相关文章:

linux - 脚本和空格

linux - 从终端在 VirtualBox 上显示 VM 描述?

git - 如何基于现有的 Github 分支创建新分支? (请阅读 - 试过初学者指南)

mysql - 如何在 QueryExpression::addCase() 中使用表列而不是变量

javascript - 使用 HTML <select> <option> OnChange 更改 PHP 变量并执行 mysql 查询

linux - 在设置位置参数时使用 - 和 -- 作为要设置的选项之间的区别

bash - 我如何回显/打印来自 bash 变量的特定行

通过 Sublime Text 命令面板正确操作 CSV 文件输出的 C++ 代码...但不是在终端中

mysql - 第二次从内部查询中选择

php - 如何使用php向mysql数据库插入多行,增加1行