windows环境下主、中继、从服务器级联复制

本文详细介绍了如何配置Windows环境下MySQL的主从级联复制,包括A-B-C三台主机的设置步骤,如server-id、log-bin等参数配置,以及创建和授权同步用户。同时,针对可能出现的问题,如网络恢复后的同步、级联服务器错误1236、从库无法连接等,提供了相应的解决方案和故障排查方法。
摘要由CSDN通过智能技术生成

windows MySQL A->B->C主从级联复制

三台主机:

环境如下:
A数据库:MySQL版本5.6,IP为192.168.1.106
B数据库:MySQL版本5.6,IP为192.168.1.123
C数据库:MySQL版本5.6,IP为192.168.1.72

  1. master 服务器配置
    server-id=1
    log-bin=mysql-bin #开启二进制文件
    binlog_do_db=liuzhuang_pt
    创建用户用于同步信息
    mysql> grant replication slave on . to MySlave@‘192.168.1.%’ identified by ‘123456’;

  2. 中间的级联从服务器my.ini
    server-id=2
    log-bin=mysql-bin #开启二进制文件
    binlog_format=row
    binlog_do_db=liuzhuang_pt
    log_slave_updates // #级联复制中间节点的必选项 关键
    read-only
    设置从从服务器的同步账户

    CREATE USER ‘MySlave’@‘192.168.1.%’ IDENTIFIED BY ‘123456’;
    GRANT REPLICATION SLAVE ON . TO ‘MySlave’@‘192.168.1.%’;
    FLUSH PRIVILEGES;

设置此服务器的主节点

CHANGE MASTER TO
MASTER_HOST='192.168.1.106',
MASTER_USER='MySlave',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_LOG_FILE='m-bin.000001', MASTER_LOG_POS=400;   

mysql 
mysql> set sql_log_bin=0;
mysql> show master status;  #记录二进制位置,给第三个节点使用  
mysql> set sql_log_bin=0;
mysql> start slave;
获取主节点的状态:

show master status;
mysql-bin.000002 680712624

mysqldump -A --single-transaction --master-data=1  -F > /data/all.sql  做备份
scp /data/all.sql 最终的从服务器上:/data
  1. 最后的从服务器
    在my.ini中配置
    server-id=3
    read-only
    设置此服务器的主节点

    CHANGE MASTER TO
    MASTER_HOST=‘192.168.1.123’,
    MASTER_USER=‘MySlave’,
    MASTER_PASSWORD=‘123456’,
    MASTER_PORT=3306,
    MASTER_LOG_FILE=‘mysql-bin.000002’, MASTER_LOG_POS=680712624;

mysql> start slave;

show slave status;

MySQL主从复制常见问题原因和解决方案

  1. 如果主从同时不操作,网络修复的时候,是能够自动同步的,如果主做了操作后,网络才恢复的,需要重新启动从端的从属服务才能恢复。
    stop slave;
    start slave;
    #重启slave服务才能恢复。

  2. 2021-07-07 13:31:10 10000 [ERROR] Error reading packet from server: Could not find first log file name in binary log index file (server_errno=1236)
    2021-07-07 13:31:10 10000 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’, Error_code: 1236
    2021-07-07 13:31:10 10000 [Note] Slave I/O thread exiting, read up to log ‘binlog-bin.000572’, position 257630129
    在中继服务器中配置需要生成日志的数据库binlog_do_db=liuzhuang_pt并重新设置同步。

  3. Slave_IO_Running状态为Connectioning,从库无法进行同步。可能是从库无法连接到中间库。 在中间库中创建相应的slave账户。
    CREATE USER ‘MySlave’@‘192.168.1.%’ IDENTIFIED BY ‘123456’;
    GRANT REPLICATION SLAVE ON . TO ‘MySlave’@‘192.168.1.%’;
    FLUSH PRIVILEGES;

  4. 级联同步master服务器关机重启后无法正常启动mysql
    2021-07-07 15:05:25 2374 InnoDB: Error: page 24869 log sequence number 72818688388
    InnoDB: is in the future! Current system log sequence number 71971085836.
    InnoDB: Your database may be corrupt or you may have copied the InnoDB
    InnoDB: tablespace but not the InnoDB log files. See
    InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
    InnoDB: for more information.
    innodb_force_recovery = 1
    尝试修改innodb_force_recovery 参数启动,发现无法启动

  5. 级联同步master服务器关机重启后,从库能够自动同步

  6. 从库数据与主库冲突在从库配置文件中配置,直接跳过不影响业务的错误号
    slave-skip-errors = 1032,1062,1007

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewTech精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值