2013-10-25 49 views
0

我有一個腳本,其中i取備份通過perl腳本,下面的mysqldump在perl腳本投擲錯誤,但運行良好外部腳本

mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect

如所提到的,其是投擲錯誤我有根用戶與本地主機提到作爲%,根據文檔所有主機都被允許。

而且有趣的一點是mysqldump命令運行良好的外部腳本,即在shell提示符

任何想法????

+0

你能提供你用來創建mysqldump的perl命令嗎? –

+0

'foreach my $ database(@databases){ chomp($ database); 'mysqldump -u backup -pbackup $ database> $ backup_folder/$ date_folder/$ database.sql'; } 'tar -cvzf $ date_folder.tar.gz $ date_folder'; 'rm -rf $ date_folder';' 它工作得很好,直到昨天,但我追溯到它不是腳本問題,它的mysql事物與用戶和特權相關,據我瞭解 – mviswa

回答

0

運行此命令檢查root有權從本地主機

SELECT user,host 
FROM mysql.user 
WHERE user = 'root' 

連接。如果你沒有在hostlocalhost一個條目,然後root允許從localhost連接。您應該允許root通過發行GRANTlocolhost進行連接。

+0

我已經添加了一個root用戶localhost ,但問題仍然存在,創建了另一個用戶並授予了特權,但到目前爲止它還在工作,但想知道真正的問題是什麼 – mviswa

相關問題