2011-05-07 51 views
2

如果我使用mysqldump創建MySQL數據庫備份,並使用PHP'系統'或類似的函數調用它,我必須在行中包含密碼才能自動化它。關注使用mysqldump備份MySQL數據庫

然後,我可以(例如)手動調用php函數(即通過鏈接)或將其作爲cron作業運行。

我的關注:

  1. 鑑於DB是在Ubuntu(服務器),或其他Linux的味道,不會這是一個壞主意,因爲旁邊的人登錄到服務器將識別數據庫密碼?

  2. 很明顯,我們不是在談論root密碼。因此,問題的第二部分是,可以給只用於備份的用戶帳戶授予什麼特權?

感謝您的分享!

+0

屬於serverfault.com – ChristopheD 2011-05-07 05:09:46

+0

我不確定它是否應該在serverfault上,因爲我的問題也涉及PHP。這就是爲什麼我把它放在這裏。 – itsols 2011-05-07 05:11:55

+0

@ChristopheD - 除了serverfault之外,你不會得到儘可能多的答案,如果有的話。 – 2011-05-07 05:16:36

回答

2

你可以把密碼與適當鎖定的權限的文件,然後執行

cat passwd.txt|mysqldump -p dump_options_here 

至少,你需要選擇,LOCK_TABLES,並可能RELOAD如果你在複製的情況是並需要刷新日誌。

+0

是的,這是我認爲我會用到的解決方法:) 它是一個Linux操作系統,我們可以很容易地做到這一點。 謝謝! – itsols 2011-05-07 05:20:45

2

對於真正的應用程序,您是否將DB密碼放入PHP文件(或ini文件)? 難道你沒有安裝phpmyadmin(並且在它的配置文件中你可以看到未加密的密碼)?

+0

是的,這也是一個選項。只要我們堅持Ubuntu/Linux,我不認爲配置文件將被所有人訪問。感謝這個想法! – itsols 2011-05-07 05:24:17