2010-08-06 112 views
1

我需要我們的生產數據庫的本地副本,並且我需要每隔幾天刷新一次,因此測試和開發不能處理非常陳舊的數據。幾天就好了。這是僞計劃:用於工作站開發/測試的MySQL數據庫同步

  1. 在生產服務器上寫一個腳本,該腳本在mysqldump的+ gzip數據庫中。
  2. 添加一個cron流程,在非高峯時段每隔一天運行腳本。
  3. 在工作站上寫一個腳本,rsync的gzip轉儲並加載它。

有沒有更好,更清潔或更安全的方法來做到這一點?

編輯:只是爲了增加清晰度。我們還擁有已知的測試數據,以及我們的測試庫(測試驅動開發)。一旦THOSE測試通過,它就會(更)真實的東西。

回答

1

您不妨考慮MySQL複製。這不是一件瑣碎的事情,但可能是你正在尋找的東西。更多的信息在這裏... http://dev.mysql.com/doc/refman/5.0/en/replication-features.html(我不知道任何關於它的事情,除了它可以完成)。

+0

當您複製時,可能會意外地將更新從測試環境複製到生產環境 – Manfred 2010-08-06 15:03:18

+1

編號複製從'主'到'奴隸';通過將生產數據庫定義爲主數據庫,更新將僅從它流走 – 2010-08-06 15:28:32

0

測試應該使用「已知」數據;不是生產數據。您應該有腳本將「測試」數據加載到系統中以實現此目的。測試/開發不應該處理數據的移動目標。此外,如果您有任何生產中的敏感數據(不是每個人);您的開發/測試團隊不應該有權訪問它

有關創建測試數據的一些建議: 1)帶有VBA的Excel電子表格他們創建sql以針對數據庫運行2)原始sql腳本 3)以已知模式生成數據的數據創建程序

+0

我不能說我已完成與此達成協議。測試的目的是確保系統以客戶需求的方式工作,而一種非常方便的方法是測試他們正在使用的數據。一個適度的極端情況數據庫可能很方便,但通常最好將測試集中在系統實際使用的方式上。 – 2010-08-06 15:32:05

相關問題