2012-03-12 36 views
1

我應該需要停止ApacheMySQL備份之前的服務器?還是我可以在他們工作的時候做?MySQL,PHP,Apache應用程序備份

在一臺電腦的虛擬主機下,有數個正在運行的網站。我在尋求一般的備份要求和最好的辦法。如果需要離線或不離線。

+0

什麼樣的備份,文件備份?您只需複製並粘貼到所需的位置 – 2012-03-12 08:55:49

+0

即可。有備份和備份。準系統備份或帶有差異的實時備份。此外,每個軟件包都有自己的提示和技巧。分開處理它們。 – 2012-03-12 09:00:23

回答

0

你可以在運行時做到這一點。

+0

我在備份時遇到了問題,我們的服務器無法處理,它會導致我們的網站停機。 – Filype 2012-03-12 08:58:17

+0

由於您正在複製某些文件,因此沒有理由將您的網站關閉。它一定是別的東西。 – 2012-03-12 09:15:28

2

您可以設置一個MySQL replication並備份從站上的內容,這樣您就不會佔用生產數據庫。

+0

複製不是備份。如果有人能夠訪問你的腳本並將你的數據庫轉儲到主服務器上呢?你會複製轉儲:) – 2012-03-12 08:57:55

+0

好吧,我有興趣聽到做備份的最佳方式。 – Filype 2012-03-12 08:59:44

+0

您可以在主服務器上執行mysqldump,而無需執行復制或停止服務器。你可以使用mysql複製,在slave上激活binlog並在那裏備份。 – 2012-03-12 09:01:41

1

正常情況下,當您需要備份時,您必須停止MySQL或在您的MySQL表上發出讀鎖以獲得正確和安全的備份;否則,您可能會得到不一致的備份數據。然而,This tutorial解釋瞭如何在不中斷數據庫的情況下恢復MySql數據庫。

核心思想:停止從服務器,然後進行服務器備份。一旦完成備份,我們將再次啓動從服務器,它將趕上mysql主服務器,並且不會丟失任何數據。

其次,在備份過程中,您不需要停止應用程序服務器(Apache)。

1

對於PHP您不需要備份的文件。使用Subversion,CVS,GIT或任何版本控制系統來保存文件的副本。將SVN保留在生產服務器之外。

對於Apache,如果您對其進行了大量修改,則需要一次備份配置文件。否則,這不是你每天備份的東西。如果您指的是Apaches處理的文件(例如用戶上傳的圖片和內容),請執行復制sh腳本,將其附加到cron並按您的喜好隨時運行。你不必爲此停止服務器。

現在MYSQL。這是最棘手的,因爲它取決於你的表如何存儲。 InnoDB一起存儲在一個大文件中,除非指定了一些指令。 MyIsam表格只是可以直接複製的常規文件。如果您擁有事務和外鍵而不是使備份更復雜一些,因爲您希望保持數據庫的完整性。在這種情況下,您可以停止服務器,執行備份並重新啓動,或者像其他人所說的那樣設置複製並在從屬設備上執行備份,您可以在不中斷活動的情況下停止備份。我在不停止服務器的情況下備份現在4GB的數據庫的夜間備份。