Mysql5.7은 마스터-슬레이브 지연 데이터 복제를 실현합니다.

소개

그렇다면 지연 복제 기술이란 무엇입니까? MySQL 5.6부터는 마스터-슬레이브 지연 복제가 지원
되며, 간단히 말해서 지연 복제는
N 시간과 같은 고정 된 지연 시간을 설정 하여 슬레이브 데이터베이스가 마스터 데이터베이스보다 N 시간 늦도록 설정하는 것 입니다.
데이터베이스 오작동 후 데이터를 빠르게 복원하는 데 사용됩니다.
예를 들어, 특정 슬레이브 라이브러리와 메인 라이브러리의 업데이트 지연을 1 시간 단위로 설정
하여 메인 라이브러리 데이터에 문제가 발생한 후 1 시간 이내에 발견
하고 슬레이브 라이브러리를 복원하여 여전히 정확하고 완전한 데이터가되도록 할 수 있습니다. ,
전체 데이터 복구에 걸리는 시간을 절약하십시오.

마스터-슬레이브 복제 구성

참조 : Mysql은 GTID 마스터-슬레이브 구성을 제공합니다.

마스터-슬레이브 구성

MySQL 구성 설치

[root@test1 ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
[root@test1 ~]# rpm -ivh mysql57-community-release-el7-11.noarch.rpm
[root@test1 ~]# yum install mysql-community-server 
[root@test1 ~]# systemctl start mysqld   

기본 구성 파일

vim /etc/my.cnf
# binlog 和 server id配置
server-id=1
log-bin=mysql-bin
binlog-do-db=test
binlog-ignore-db=mysql
# gtid 配置
gtid_mode=ON
enforce-gtid-consistency=true

라이브러리의 구성 파일

vim /etc/my.cnf
server-id=10
# gtid 配置
gtid_mode=ON
enforce-gtid-consistency=true
# 并行复制配置
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8
master_info_repository=TABLE
# 中继日志配置
relay_log_info_repository=TABLE
relay_log_recovery=ON

구성 후 적용하려면 Mysql을 다시 시작하십시오.

마스터-슬레이브 구성은 https://blog.51cto.com/9025736/2500516 위의 링크를 참조 하십시오.

지연된 복제 구성

延迟复制配置,通过设置slave上的 MASTER TO MASTER_DELAY参数实现。
CHANGE MASTER TO MASTER_DELAY = N;
N为多少秒,该语句设置从数据库延时N秒后,再与主数据库进行数据同步复制。
由于是测试,这里配置延迟主库10分钟,至于生产配置多长时间,就需要自己斟酌设置了。  
    配置完毕主从,我们只需要停止主从,在设置MASTER_DELAY(切记时间放到晚上不活跃了在操作)
mysql> stop slave;
mysql> change master to MASTER_DELAY = 600;
mysql> start slave;

데이터 테스트 삽입

지연된 복제 원칙

    mysql的延迟复制实际上影响的只是SQL线程将数据应用到从数据库,
    而I/O线程早已经把主库更新到数据写入到了从库的中继日志中。
    因此,在延迟复制期间即使主库down掉了,
    从库到了延迟复制的时间,依然会把数据更新到和主库down机时一致。

추천

출처blog.51cto.com/9025736/2542883