在工作中,主從環境搭的多了,但是,基本上都是在DB SERVER停機(游戲公司)的情況下搭建的,今天突然被一技術官問,如何在線添加主從,回答的大概思路,但是沒有實踐過,下面,我就測試一下。各位也可以先想想自己的思路:mysql 5.1版本,二進制日志文件(時間長了,有些二進制日志定期清除了),pos號
注:在mysql 5.6版本中,已經有基於GTID的主從復制(即:不需要知道日志文件和position號),只需還原最新的備份就可實現,這裡只討論mysql 5.1
一.目前的基本環境:
主DB:192.168.1.101
從DB1:192.168.1.102
從DB2:192.168.1.103(准備在線添加做為從機的mysql數據庫)
數據庫版本:mysql 5.1.61(select version())
服務器版本:red hat linux 6
注:目前主從正常(show slave statusG),同步的數據庫為 login
3台DB server的備份軟件(xtrbackup)都已經安裝完成
同步的表為innodb引擎的表,不然用xtrabackup還是會鎖表
假設環境為:現在login庫下的表a,備份的時候插入數據,最終行為5418272
注:思路是備份,可是用mysqldump備份會鎖表,如果數據量很大的話,線上環境肯定不允許使用mysqldump備份
所以,我們采用的xtrabackup來進行在線熱備,至於,它的原理,請各位自行google
二.部署實例:
1.主DB,線上數據正常寫入的同時我實施備份
1 2 3 4mysql> insert into a
select
* from a;
[root
@client101
backup]