2012-10-25 44 views
0

我已經在/ etc/crontab文件中使用了這行代碼,每天從3個數據庫轉移到另一個數據庫,但不會提供任何錯誤消息。定期從一個mysql數據庫轉儲到另一個使用cron

0 3 * * * mysqldump -uroot -ppassword --opt activeDB | mysql -uroot -ppassword -h test.example.com passiveDB 

任何想法這裏有什麼不對?我是否需要爲服務器定義一個ssh連接?如果這是問題,我想它應該給一些消息,如連接到給定的服務器是不允許的,不是?

回答

0
  1. 將命令寫入shell腳本,並從crontab調用該腳本。某些版本的cron不會很好地讀取多部分命令。

  2. 您應該先調試您的命令,然後再將其設置在cron中。

你需要確保mysqld是公共接口上的test.example.com聽(它不是默認情況下)。您需要確保您在遠程數據庫上設置了正確的GRANT權限,您需要將權限授予'user'@'%'(壞主意)或'user'@'your-active-server-ip'(更好的主意)。

+0

你說得對。調試後,我得到「主動服務器不允許連接到被動服務器」。所以我還有更多的東西要做。謝謝。 – Adia

+0

問題解決了。必須允許從活動服務器訪問mysql服務器端口,並在test.example.com上授予其權限。再次感謝lynks。 – Adia

+0

np,它必須是其中的一個。 – lynks

相關問題