데이터베이스 마스터-슬레이브 동기화

1: 3개의 가상 머신 또는 3개의 컨테이너를 엽니다.

docker run -itd --name mysql_m -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35

docker run -itd --name mysql_s1 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35

docker run -itd --name mysql_s2 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35

2: 그 중 하나를 마스터로 설정하고 나머지 두 개를 슬레이브로 설정합니다.

 docker cp 容器名称:/etc/mysql/conf.d/docker.cnf m.cnf
 三个复制过来,主mysql的上面加上
 设置server-id
 开启bin-log
 
 从机上只用加server-id
 三个的server-id应该不同

주인


[mysqld]
skip-host-cache
skip-name-resolve
server-id=1
log-bin=master-bin

~에서


[mysqld]
skip-host-cache
skip-name-resolve
server-id=2

수정이 완료되면 해당 파일을 해당 컨테이너에 배치합니다.

3: 메인 설정

1: 데이터베이스를 입력하고 사용자를 생성합니다

create user 'rep'@'%' identified by '123456';

2: 신규 사용자 승인

 grant replication slave on *.* to 'rep'@'%';

3: 권한 새로 고침

flush privileges;

4: 새로운 사용자로 로그인을 시도합니다

mysql -urep -p123456

5: 로그번호와 포지션번호를 확인하세요

 show master status;

4: 슬레이브 설정

change master to
master_host="192.168.128.138",master_port=3307,
master_user="rep",
master_password="123456",
master_log_file="master-bin.000001",
master_log_pos=737;

strat slave;

5: 확인

슬레이브 상태 표시 \GI는
아래 두 개가 모두
YES 인 경우 유효합니다.

Supongo que te gusta

Origin blog.csdn.net/m0_51828898/article/details/131760598
Recomendado
Clasificación