在MySql已经主从同步的后,由于有新的需求再增加1个历史数据库,要改原来的1个变成现在的2个数据库。在官网并没有找到类似的场景(官方同步多个数据是从一开始就设置,不是后续增加的),只能结合以往的经验自己做实操。
注意:一定要备份所有相关数据库。
开始追加同步数据库 :
一 ,在从库服务器操作,停止从库同步:
1 停止从库同步:
sql
stop slave
2,在主库服务器操作,备份需要同步的历史数据库
bash
mysqldump -u root -p xxxdb > xxxdb0426.sql
传送到次库的服务器
按正常的流程是在从库导入历史数据,后面配置好主库启动同步。但在这里不操作先导入库。看后面流程。
3,配置主库,执行同步
只要修改/etc/my.cnf 配置项目,增加要同步的历史数据库,如下图:
此时 binlog-do-db = 原来数据库名,新数据库名称
重启数据库
sql
service restart mysql
如下图:
在主库上查看配置效果:
sql
SHOW MASTER STATUS;
mysql生启后配置文件生效,已有两个数据库,如下图:
定位一下上图的mysql-bin.000085文件,看了文件非常小 ,会不会和其它日记文件不同?
我们看一下mysql-bin.000085文件的内容:
bash
mysqlbinlog mysql-bin.000085
从内容上看,和别的数据文件完全不同
首先行 PSEUDO_SLAVE_MODE
参数为 1 模拟从库的行为,通常在从库模拟或测试复制流程时使用。
说明mysql-bin.000085这个和其它的数据文件是不同的,正常情况应该是个数据日记文件,会有相关sql日记,如果是这样子,我们可再回到第2步的操作:从库导入后开始同步即可。现在和想像中的不一样,那先不要导入从库,直接同步操作试试。
sql
start slave
最后查看数据,第1个数据库和第2个数据库数据表正常同步。
MySql相关文章: