如果你初始只有一個主庫,答案是,你必須鎖庫做從庫. 在此期間,只能讀,不能寫.


增加從機可以不停機: 可以用熱備工具,商業的如ibbackup,免費的如Percona公司的 XtraBackup,備份後即可搭建從機,但如主、備機切換,則必然會停機,只不過是停的時間長短而已,如需要主、備切換,可在資料庫壓力最小時進行切換。
先保證從庫沒有延遲,然後把兩個資料庫互指,然後將寫寫到從庫上。但是前提不能使用自增id等
假設a是主,b是從你要增加一個c。那麼你可以先停b。把b的數據拷到c

配置a,讓它從和b同樣的命令點開始向c發送命令


增加機器可以這樣做,寫入操作唯一一臺mysql,其他N臺對這臺mysql主從同步,這樣就能把查詢的操作分攤到N臺mysql上。

切換的其中一種做法:1、原mysql為A,新mysql為B2、A主,B從,B只查

3、代碼裡面寫host指向A

4、A、B同步完成後開始切換5、A、B配一樣的許可權6、把代碼指向A的host改為指向B7、這就可以把A關了,現在都在讀寫B


可以設置雙master相互複製的構架。比如A,B兩臺為相互複製的master.需要加slave的機器的話,A伺服器不需要停機。到B伺服器導入數據就可以了。
這樣不夠啊。比如說,如何把主的數據導入到從上面?要拷貝mysql的數據文件的話只能停機啊。
推薦閱讀:
相關文章