Mysql 一主两从架构转换成级联复制

因为最近公司服务器要迁移;原来的数据库架构是一主一从的架构(主库A---从库C);增加多一台从库服务器B。

现在要把从库B替换主库A;从库C继续作为B的从库。

一主2从简单说一下步骤;具体步骤省略。

首先搭建好从库B,配置好my.cnf 的server_id

1,先停掉从库C.stop slave

2,记住从库C的同步状态。 show slave status\G    记住Master_Log_File 和Read_Master_Log_Pos 的位置和点。

3,备份从库C,备份完成后导入从库B。

4,主库A授权用户从库B。

5,从库B change master 做主从复制。(用从库C的 位置和点)

以上操作完成后,现在的架构是 一主两从的架构;现在要把从库B升级为从库c的主库变为级联架构。

首先从库B要开启二进制日志。并且还要加上参数  log_slave_updates = 1 在授权一个复制用的帐号给从库C。

当从库log_slave_updates参数没有开启时,从库的binlog不会记录来源于主库的操作记录。只有开启log_slave_updates,从库binlog才会记录主库同步的操作日志。

  1. 先在从库C上执行STOP SLAVE。show slave status \G查看从库C复制主库A的位置Exec_Master_Log_Pos。
  2. 在从库B上执行show slave status \G;查看从库B上的Exec_Master_Log_Pos是否已经大于从库C上的Exec_Master_Log_Pos,如果大于,则执行stop slave停掉从库B的复制,这时需要记下从库B上的 Relay_Master_Log_File: tex-bin.003882 ,Exec_Master_Log_Pos: 322474479   两个值,在从库B上执行show master status,记下BINLOG文件名字File(B)以及位置Position(B),然后start slave开启复制。
  1. 在从库C上执行start slave until master_log_file=‘tex-bin.003882‘,master_log_pos=322474479;   让从库C复制到从库B的位置。  show slave status \G  查看从库C上的Until_Log_Pos与Exec_Master_Log_Pos是否相等,如果相等则stop slave关闭复制。然后把从库C的主库指向从库B,change master to
    master_host=‘B_ip‘,
    master_port=3306,
    master_user=‘rep‘,
    master_password=‘xxxx‘,
    master_log_file=File(B),
    master_log_pos=Position(B),
    master_connect_retry=3;

然后start slave开启复制。OK,结束了,就是这样!

原文地址:https://www.cnblogs.com/zyos/p/9054850.html

时间: 2024-08-05 07:08:04

Mysql 一主两从架构转换成级联复制的相关文章

MySQL类型转换 使用CAST将varchar转换成int类型排序

mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过? 1 BINARY[(N)] 2 CHAR[(N)] 3 DATE 4 DATETIME 5 DECIMAL 6 SIGNED [INTEGER] 7 TIME 8 UNSIGNED [INTEGER] 例子: --使用CAST将varchar转换成int类型排序 select server_id from cardserver where game_id = 1 order by CAST(server_

Objectvie-C 两个字节 转换成整数

1.整数到转换成4个字节 int length=1491449719; message[0] = length & 0xFF; message[1] = (length >> 8) & 0xFF; message[2] = (length >> 16) & 0xFF; message[3] = (length >> 24) & 0xFF; 2.四个字节转换成整数 int len = message[0] | (message[1] <

Keepalived+Mysql(2主2从架构)

利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. 使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. 下面,我把即将上线的

mysql获取日期(将时间戳转换成短日期格式)

且看如下: select date_format(create_time,'%Y.%m.%d'),create_time from vs_article where article_id='20'; 结果: +-------------------------------------+---------------------+ | date_format(create_time,'%Y-%m.%d') | create_time | +-----------------------------

级联复制转化成一主两从

1.如图,级联复制如果转化成一主两从? GTID复制处理方法: 只需要把S2的复制停掉,然后重新change到M上即可: S2: stop slave; reset slave all; change master to M: start slave 传统复制处理方法(比较复杂): (1)停止S1的复制,这个时候S1和S2停在同一位置 (2)在S1上执行show slave status\G [email protected] [testdb]>show slave status\G *****

Mysql双主互备+keeplived高可用架构(部分)

一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种架构中,主库出现故障时需要手动将一台从库提升为主库.在对写操作要求较高的环境中,主库故障在主从架构中会成为单点故障.因此需要主主互备架构,避免主节点故障造成写操作失效. 在双主互备的架构中,每台Mysql都充当主服务器,同时充当对方的从服务器.在任意一台服务器上的写操作都会被复制到另一台服务器上,从

MySQL双主互备模式架构

MySql双主互备架构模式 操作系统 CentOS 6.3 MySql版本 mysql-5.0.56 keepalived keepalived-1.1.19.tar.gz Master DB1配置文件 修改MySql 配置文件  /etc/my.cnf 增加以下段落 [mysqld] server-id=1    节点标示 log-bin=mysql-bin   开启mysql的binlog日志功能 relay-log = mysql-relay-bin  用来定义日志文件命名格式 repli

MySQL性能调优与架构设计——第13章 可扩展性设计之 MySQL Replication

第13章 可扩展性设计之 MySQL Replication 前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 Instance 中.虽然复制过程并不是实时而是异步进行的,但是由于其高效的性能设计,延时非常之少.MySQL 的Replication 功能在实际应用场景中被非常广泛的用于保证系统数据的安全性和系统可扩展设计中.本章将专门针对如何利

MySQL双主(master-master)补充

环境: 主机名 主机IP 操作系统 MySQL版本 mysqlA 172.16.4.235 CentOS 6.52.6.32-431.el6.x86_64 mysql-community-server-5.7.5-0.6.m15.el6.x86_64 mysqlB 172.16.4.236 CentOS 6.52.6.32-431.el6.x86_64 mysql-community-server-5.7.5-0.6.m15.el6.x86_64 MySQL双主+半同步架构搭建参考上一篇博文:h