2011-09-02 58 views
1

我從來沒有使用過我的mysql數據庫的主/從設置,所以請原諒,如果我沒有意義。如何編寫用於主從設置的PHP MySQL類?

我很好奇,比方說,我想有一個主數據庫和3個從屬數據庫。我是否需要編寫我的數據庫類來連接和添加/更新/刪除條目到主數據庫,或者這是否自動化?

也爲我的SELECT查詢,我需要編碼它隨機選擇一個隨機數據庫服務器?

回答

4

你想使用(和研究)是MySQL Replication。這完全獨立於您的代碼處理。您的數據庫工作方式與1臺或100臺服務器相同。

+0

所以,我將不得不做出一個MySQL連接到主表,其餘的將自己處理? – Criesto

+0

我從來沒有自己設置它,但是,是的,這就是我的理解。 [緩衝器的答案在下面](http://stackoverflow.com/a/7278215/119527)增加了解釋。 –

1

主/從設置應該由MySQL服務器自動處理,所以你不應該需要任何特殊的代碼來完成這個配置。

4

你聽起來像你是想提高性能/平衡負載

是的,你需要做的主數據庫的任何破壞性的變化。奴隸只能用於只讀。您還需要小心,即不要立即寫入主站並從站讀取數據,否則數據可能尚未複製到從站。所以任何即時讀取仍需要來自主人。

我不會建議隨便選擇一個奴隸。如果他們攤開你可以按地理區域做到這一點,或者如果您在集羣中運行,您可以使用代理做負載均衡你..

這裏是更多的一些信息,可以幫助

http://agiletesting.blogspot.com/2009/04/mysql-load-balancing-and-read-write.html