MySQL專用備份工具—phpMyBackupPro

2009-03-27
MySQL的好處眾所皆知,但最怕資料庫內容毀於一旦。建議對MySQL資料庫有備份需求的系統管理員,可以使用一些小工具來輔助備份資料庫。而採用GNU GPL授權方式釋出的網頁管理系統phpMyBackupPro,就是這樣一套具有相當實用價值的輔助工具。
電腦的發明已經有了超過數十年的歷史,廣義而言,甚至可以上推至數世紀前之久。這項產品的發明,對於人類最大的貢獻莫過於計算速度的突飛猛進,讓人類可以解決許多以往難以使用人力處理的問題,相對地,也帶給人類在生活上相當程度的改善。但除了計算能力方面的輔助之外,電腦對於現代人而言還有另一項更加重要的任務,那就是資料的儲存。

現今社會中需要使用電腦儲存的資料種類相當繁多,小至公司行號的進出貨記錄,大至一個國家的人口資料,都需要利用電腦的高儲存空間才能夠有效地加以運用。但資料並不是存放在電腦的儲存媒體中便稱得上盡善盡美,如果沒有適當的系統提供資料新增、修改或查詢、刪除等操作介面,這些資料也只會成為一個數量十分龐大的惡夢,不會讓人類感受到生活變得更加美好。

也因為人類在資料的儲存與處理上有著相當程度的需求,資料庫系統的使用也造就了許多知名軟體。例如,早期DOS時代的dBase III Plus、FoxPro,Windows 95推出後順勢改版的Visual FoxPro等等。如今大多數人使用的資料庫系統多半是採用SQL語言的各式資料庫,而對於UNIX或Linux的使用者而言,最知名的資料庫系統自然是MySQL。

MySQL對於現今的各式軟體應用場合來說,不但架設容易,相關的文件或參考資料也相當多。雖然MySQL在去年被昇陽併購,成了昇陽的子公司,但新版本並沒有因此而減緩推出的腳步,持續在市占率方面保有一席之地。

雖然採用MySQL的好處眾所皆知,但對於MySQL的管理者而言,最怕的多半還是資料庫內容毀於一旦的惡夢。如果架設MySQL的主機擁有磁碟陣列或是其他備援主機,或許毋須太擔心資料毀損的情況發生。但對於一般的中小型企業而言,由於預算有限,多半只能依賴系統管理員勤於備份,才能夠有效避免災難發生後卻無法回復資料的慘劇降臨。

只是周期性的工作交給人類處理,多半還是會發生忘記執行備份動作的情形。雖然在大多數情況下這樣的小失誤並不會對系統的穩定性造成太大問題,但萬一發生問題的時候,管理員正好沒有進行備份動作,恐怕小問題也會立即成為大災難。

對於MySQL資料庫有備份方面需求的系統管理員,或許可以考慮使用一些小工具輔助資料庫的備份動作。phpMyBackupPro這一套採用GNU GPL授權方式釋出的網頁管理系統,對於MySQL資料庫的管理人員而言,或許就是一套具有相當實用價值的輔助工具。

從這套軟體系統的名稱便可以輕易猜到,這是一套MySQL資料庫所專用的備份軟體。但phpMyBackupPro所提供的並不僅止於備份方面的用途而已,善加利用的話,甚至可以成為MySQL資料庫管理方面的一大得力助手。

點圖放大
▲phpMyBackupPro的主畫面

操作簡便 phpMyBackupPro為了減輕資料庫系統管理員的負擔,無論在安裝或使用上都採用了相當簡易的方式進行設計。從軟體名稱即可得知,此軟體採用PHP描述式語言進行開發。使用PHP語言作為開發工具,操作方式自然會採用時下最流行的網頁介面。

雖然部分熟記MySQL管理指令、也不畏懼文字操作介面的系統管理員認為直接採用MySQL管理指令進行系統維護是最快速的方式,但不可否認的是,圖形介面畢竟有許多優點,足以犧牲一些操作上的速度來換取更好的使用經驗。

採用GPL授權的phpMyBackupPro同時也提供原始碼,所以有PHP程式開發經驗的系統管理員如果感覺功能方面有任何欠缺,多半都能夠在經過一段時間的熟悉之後自行設計新特色,讓整套系統提供更加完善的管理功能,以便輔助系統管理上的需求。

採用網頁介面設計的phpMyBackupPro,除了在安裝與使用各方面都相當容易上手之外,實際進行作業時也會發現整套系統的設計相當直覺。除非是系統管理方面的新手,尚未熟悉系統管理相關的術語;否則大部分的系統管理員,應該都能在經過幾分鐘的嘗試之後理解整套系統的運作模式。

主要特色

由於phpMyBackupPro是採用PHP程式語言開發而成,加上只需要可以執行PHP程式的網頁伺服器支援,所以任何可以提供這兩項軟體運作空間的作業系統,都能用來安裝與執行phpMyBackupPro。這些作業系統除了Linux、UNIX之外,也包含Windows與Mac OS。與作業系統無關的設計方式,可以讓更多人享受到phpMyBackupPro的好處,也減少了更多管理員的頭痛問題。

由於目前大多數的資料庫系統都會同時提供許多應用場合使用,所以在一個資料庫系統之中,同時建立數個資料庫內容,也是相當常見的事。在備份資料庫系統時,如果不能在多重資料庫的內容中進行圈選並執行備份,這套系統便無異於雞肋。

phpMyBackupPro既然自詡為專業的資料庫備份軟體,自然也提供了這種多重資料庫備份的機制。除此之外,使用者還可以自行指定是否在備份資料庫的時候同時備份資料,或是將該資料庫所屬的全部表格結構一併儲存等各種選項。

資料壓縮

資料庫系統在執行過一段時間之後,資料庫表格之中必定存放了數以百萬計的資料。這些資料如果直接複製到其他儲存媒體上,佔用的磁碟空間將會是相當驚人的數字。 為了有效減少磁碟空間的使用與浪費,phpMyBackupPro提供了三種壓縮方法,讓使用者在備份資料的同時,直接將資料進行壓縮以縮小備份資料的體積。這三種壓縮方法包括Windows系統上最常見的ZIP壓縮檔格式,也涵蓋了UNIX系統上最基本的GZIP壓縮格式。至於第三種方法,則是最單純的不壓縮方式。雖然所謂的第三種壓縮方式只是phpMyBackupPro作者所開的一個小玩笑,但透過GZIP或ZIP的輔助,相信已經足以在資料的備份與壓縮上,提供相當有用的幫助。

▲phpMyBackupPro提供壓縮功能,減少備份資料檔所佔用的磁碟空間

排程備份 進行資料備份最基本的要求,莫過於完整備份所有的資料。如果備份軟體無法達到這樣的基本要求,就失去了備份的意義,因為在需要回存資料時根本無法完整恢復系統原先的狀態。除此之外,能否提供定時定期備份的功能,也是備份軟體的一大重點。

phpMyBackupPro除了可以確保資料完整備份之外,也提供排程備份的設計功能。在系統中定義好要執行備份的時間與日期,並決定好需要備份的資料庫名稱,即可在時間到達時自動進行備份,省下許多手動執行的麻煩。使用排程備份功能時,比較需要注意的事情,多半只有磁碟空間是否足夠,以及執行備份的時間點會不會影響到系統的正常運作而已。

▲phpMyBackupPro可手動進行備份,亦可排程定期進行

備份管理 完成資料庫備份後,萬一不幸遇到系統毀損的問題,便需要將已備份的資料進行回存。phpMyBackupPro並不是只有在進行備份作業時才能提供良好的操作介面輔助,在需要回存資料時,一樣可以透過phpMyBackupPro的操作介面進行。

除此之外,如果只是想在平常的時間檢視目前已備份的資料內容,或是想將備份資料下載至其他電腦,phpMyBackupPro也能提供相關的操作選項。如果備份資料太過老舊,失去備份檔本身的用途,也可以在phpMyBackupPro的使用介面中直接將這些過期的備份資料刪除,以便節省磁碟空間。

雖然phpMyBackupPro預設會將資料備份到本地磁碟之中,但這並不代表phpMyBackupPro只有這一個資料儲存的選擇而已。事實上,經過適當的設定,phpMyBackupPro也能直接將備份資料放置到FTP伺服器之中,或是採以電子郵件的方式傳送到特定人員手中。

若只是考量到檔案大小的問題,備份資料放置於本地磁碟或FTP伺服器之中會是比較恰當的選擇。畢竟大多數的電子郵件伺服器都有單一郵件的大小限制,備份檔案在資料數量較多的情況下,很容易超出這個限制。

點圖放大
▲可直接從操作介面中進行備份資料管理,或是清除現有資料

文字介面與多重主機管理 考慮到部分系統管理員可能還是比較習慣在終端機模式下進行作業,phpMyBackupPro也提供Shell模式的執行方式。無論是手動執行或是交由crontab指令運行,都能利用這些文字介面的指令進行備份操作。只是少了圖形介面的加持,是否還需要利用phpMyBackupPro這套系統進行備份有些見仁見智。畢竟在文字介面之下,也有MySQL本身所提供的資料匯出指令可以使用,已經沒有非得使用phpMyBackupPro的理由。

有些資料庫的使用場合,會同時動用多部MySQL伺服器主機,因此會有數個管理帳號的產生。在這樣的情況下進行資料備份,自然比單機作業要來得複雜一些。但經由phpMyBackupPro的支援,在不同主機中使用相異帳號進行多重資料庫的備份作業,也變得相對簡單許多。

如果使用情況比較單純,只使用一部MySQL主機,也有可能會面臨MySQL伺服器同時有許多資料庫隸屬於不同使用者帳號的問題。在這樣的情況下,依然可以使用phpMyBackupPro進行資料庫的備份,並不會產生任何問題。當然,這樣的前提必須在備份的帳號可以存取所有資料庫的情況下才能成立,否則便需要使用不同的使用者帳號進行備份。

多國語系支援與認證方式

phpMyBackupPro提供多國語系的支援,可惜的是中文目前並不在支援語系之列。雖然全英文的操作畫面可能會讓人感覺有些不夠親近,但因為phpMyBackupPro的操作介面相當直覺,需要進行的操作步驟也不複雜,在經過幾次的使用經驗之後,任何人應該都能習慣這套備份系統的使用方式。

phpMyBackupPro也需要使用帳號與密碼進行系統登入後,才能開始使用各項功能。為了避免帳號資料外洩所帶來的不必要困擾,phpMyBackupPro使用HTTP與HTML這兩種不同的認證方式來增加系統安全性,使用者可依照個人需求決定採用的認證與登入方式,系統並未強制要求所使用的登入方法。

線上支援與資料查詢

如果真的在使用phpMyBackupPro時發生任何問題,phpMyBackupPro的官方網站同時提供兩個線上支援功能供使用者尋求解決之道。第一個選項是線上輔助系統,此系統也會在安裝phpMyBackupPro時一併在本地端建立一份複本。另一個選擇是常見問答集,這套採用phpMyFAQ系統架設的線上問答系統,收錄了許多世界各地使用者所反應的問題和相關的解決辦法。

如果從上述二種管道都無法找到問題的解決方法,也可以連上phpMyBackupPro的線上輔助頁面,使用「支援請求」表單將問題描述清楚,再傳送給phpMyBackupPro的開發團隊進行分析與回答。經由這些線上資源的輔助,相信可以有效降低使用者在操作與執行時發生問題的機率。

點圖放大
▲線上支援與常見問答集的設計,減少使用者面臨問題的機會

phpMyBackupPro亦可用來進行一些資料庫內容的查詢作業,在臨時需要查詢資料庫內容時,可以採用此功能進行資料檢索。只是phpMyBackupPro畢竟不是專為資料查詢所設計的軟體,使用查詢功能時建議不要輸入太過複雜的指令,以免替統查詢出現問題。

點圖放大
▲phpMyBackupPro亦提供資料查詢功能,但不建議使用過於複雜的查詢指令

安裝phpMyBackupPro

phpMyBackupPro在使用上相當簡單直覺,安裝過程更是十分精簡。取得phpMyBackupPro的原始壓縮檔之後,先使用unzip指令將壓縮檔解開,直接將解開的主目錄複製或搬移至網頁伺服器的目錄之下,然後修改檔案讀取權限,至此幾乎便已經完成整個安裝動作。 相關的指令如下所示:

unzip phpMyBackupPro.v.2.1.zip   
(解開壓縮檔)
sudo mv phpMyBackupPro /var/www/html/   
(搬移至網頁伺服器目錄)
sudo chown –R www-data.www-data /var/www/html/phpMyBackupPro  
(修改檔案讀取權限)

接下來,使用瀏覽器開啟phpMyBackupPro安裝路徑下的config.php檔案,例如「http://localhost/phpMyBackupPro/config.php」,以進行phpMyBackupPro的相關設定。設定過程中主要分成三大類:基本設定、進階設定與系統變數。

基本設定即為資料庫、FTP伺服器與電子郵件位址的相關設定,進階設定則是備份過程中相關的選項設定,例如是否自動刪除舊備份檔案與備份檔案存放在系統上的時間、PHP執行的時間上限等進階功能的指定。

系統參數提供使用者調整phpMyBackupPro相關變數的功能,但除非十分了解這些參數的用途與調整後的後果,否則不建議自行調整這些參數。一旦調整錯誤,很可能發生系統不正常運作的情況。

▲設定畫面也全數採用網頁介面進行

設定完成後,在網址列輸入「http://localhost/phpMyBackupPro/」,或是直接點選畫面上的「Start」連結,即可開始使用phpMyBackupPro。

結語

嚴格說來,使用文字介面的crontab指令,或是利用更為知名的phpMyAdmin這套MySQL資料庫管理系統,都能進行資料庫的備份用途。甚至在資料查詢方面的使用上,phpMyAdmin也提供了更為強大的功能。如此一來,似乎沒有採用phpMyBackupPro的必要?其實不然,phpMyBackupPro的操作較為簡單,安裝上也不像phpMyAdmin需要進行一大堆設定檔修改工作。如果只需要使用備份功能,或是進行簡單的查詢指令,或許採用phpMyBackupPro會是比phpMyAdmin更加適當的選擇。

即使已經在系統上成功安裝並使用phpMyAdmin,最好還是再加多裝一套phpMyBackupPro以備不時之需。對資料庫系統而言,多採用幾種備份方式總是有備無患。多一套備份工具,多一組備援機制,才能確保資料庫系統的運作與各式各樣的資料庫內容萬無一失。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!