2010-05-18 46 views
2

我有一個龐大的MySQL數據庫(大約10 GB),我需要將其複製到不同的服務器(slicehost)。我不想做一個數據庫轉儲和重新進口B/C我認爲這將需要永遠。是否可以將原始SQL文件從一臺機器移動到另一臺機器,設置一臺相同的MySQL服務器,然後翻轉交換機?跨服務器移動mysql文件

回答

0

它應該工作。

這是mysqlhotcopy工具使用的原理,儘管此工具旨在在服務器運行時運行。

+0

嗯,你可能可以將文件複製到另一臺機器上的ssh安裝驅動器上,它仍然是一個'本地'副本。你怎麼看? – tesserakt 2010-05-18 20:46:17

+0

即使沒有,mysqlhotcopy也可以使用scp。我在Debian Administration上看到一篇關於如何使用它備份到遠程服務器的文章:http://www.debian-administration.org/articles/311 – Powerlord 2010-05-18 20:52:42

1

一般來說,是的。最好有相同的底層架構和服務器版本,但這些並不是非常必要。確保您停止源服務器,以便原始文件是一致的副本。

我會在覆蓋我的開發數據庫時一直這樣做。當服務器停止運行時,我們對備份進行了備份,這些備份是通過調整/var/mysql來實現的。我將它們移動到另一臺機器上,覆蓋iblogibdata,然後覆蓋data中的所有目錄,mysqltest除外。

+0

所以,讓我解決這個問題:您停止服務器並複製一致性的緣故?我認爲這將比mysqlhotcopy具有一致性優勢,對吧?多久時間? 我正在考慮是否停止服務器是否值得。 – tesserakt 2010-05-19 12:25:25

+0

與mysqlhotcopy相比,它不一定具有一致性優勢,但速度很快。如果要複製到遠程服務器,則可以在數據庫運行時複製文件,停止數據庫,然後rsync以最大限度地減少服務器停機時間。在本地複製文件非常快,特別是從一個物理磁盤複製到另一個時。 – 2010-05-19 15:06:49

0

您沒有「龐大」的數據庫,您擁有一個10G的小型數據庫。所以轉儲/恢復應該不成問題。

直接複製文件可能適用於部分情況,但轉儲/恢復要好得多(即減少了問題發生的機率)。

很明顯,在非生產系統上使用相同版本的mysql和數據大小先試試它,以確保它能夠在生產環境中工作。