2013-07-21 81 views
0

我的問題是這樣的:MySQL查詢沒有的cronjob中運行

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 

當我在終端內手動運行此命令它工作正常。所以問題是,爲什麼這個查詢沒有運行?

+0

可能的身份驗證問題,我的第一個猜測。你是否查看過其他線索的MySQL日誌? – 2013-07-21 01:34:26

回答

1

可能的原因是

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

Argh。是的 - 那是問題所在。謝謝彼得。將在5分鐘內接受答案。 – Lucas