MySQL 양 방향 백업 실현 방법
준비 하 다.
서버
MySQL 서버
판본
IP 주소
masterA
5.6.41
192.168.1.201
masterB
5.6.41
192.168.1.202
주:백업 한 MySQL 서버 버 전 은 가능 한 한 일치 합 니 다.다른 버 전 은 바 이 너 리 로그 형식 이 호 환 되 지 않 을 수 있 습 니 다.
구체 적 조작
주의 하 다.
조작 과정 중 양쪽 데이터 의 일치 에 주의 하 세 요!!!
masterA 설정
my.cnf
[mysqld]
#
server-id=1
#
log-bin=mysql-bin
# , ,
binlog-do-db=piumnl
# , ,
replicate-do-db=piumnl
#
relay_log=mysqld-relay-bin
# ,
skip-slave-start=ON
#
log-slave-updates=ON
# , ,
symbolic-links=0
#
# resolve - [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0
master-info-repository=table
relay-log-info-repository=table
relay-log-recovery=1
#
# dns ,
skip-host-cache
skip-name-resolve
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
masterB 설정my.cnf
#
[mysqld]
server-id=2
log-bin=mysql-bin
binlog-do-db=piumnl
replicate-do-db=piumnl
relay_log=mysql-relay-bin
skip-slave-start=ON
log-slave-updates=ON
symbolic-links=0
# resolve - [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0
master-info-repository=table
relay-log-info-repository=table
relay-log-recovery=1
skip-host-cache
skip-name-resolve
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
백업 사용자 만 들 기masterA&masterB 는 백업 사용 자 를 만 듭 니 다:
create user 'rep'@'%' identified by 'rep'; #
grant replication slave on *.* to 'rep'@'%'; #
비고:리 눅 스에 서 MySQL 대root@%사용자 가 grant 를 닫 았 습 니 다.priv 권한,그래서 원 격 로그 인 이 라면 권한 수여 에 실패 할 수 있 습 니 다4.567917.여기 서 사용자 계 정과 비밀 번 호 를 백업 하 는 것 은 일치 하지 않 습 니 다.여 기 는 작업 을 간소화 하기 위해 같은 계 정과 비밀 번 호 를 사용 합 니 다서버 다시 시작
서버 다시 시작
백업 열기
masterA
masterB 상태 보기
show master status\G;
# File Position
백업 열기stop slave;
# master_log_file File
# master_log_pos Position
change master to master_host=<master_hostname>, master_user=<rep_username>, master_port=<master_port>, master_password=<rep_password>, master_log_file='mysql-log.000003', master_log_pos=154;
start slave;
결과 보기
show slave status\G;
# , Yes , No ,
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes
masterBmasterA 의 동작 을 역방향 으로 반복 합 니 다.
테스트
각각 masterA 와 masterB 에 데 이 터 를 삽입 하고 다른 서버 가 예상 한 데이터 가 제때에 나타 나 는 지 확인 합 니 다.
문제.
MySQL Slave Failed to Open the Relay Log
이것 은 중계 로그 에 문제 가 생 긴 것 같 습 니 다.다음 작업 을 시도 해 보십시오.
stop slave;
flush logs;
start slave;
Got fatal error 1236 from master when reading data from binary log주 라 이브 러 리 에서 로 그 를 끌 어 올 렸 을 때 주 라 이브 러 리 의 my sql 을 발견 하 였 습 니 다.bin.index 파일 의 첫 번 째 파일 이 존재 하지 않 습 니 다.
#
# ,
reset master;
reset slave;
flush logs;
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.