환경은 centos 7.2+mysql 5.7입니다. 온라인 튜토리얼이 많고 원리도 복잡하지 않습니다. (저는 함정을 충분히 밟지 않은 것으로 알고 있습니다.)
일반적인 상황에서는 구성이 비교적 간단합니다. 또한 개인적인 경험에 따르면 MySQL 복제는 SQL Server 복제보다 훨씬 더 신선하게 느껴집니다(일부 기능적 차이는 있을 수 있음).
마스터 서버, 먼저 바이너리 로그를 활성화하고, server-id를 특정 값으로 설정하고
1, 복제 사용자를 생성하고
GRANT REPLICATION SLAVE ON *.*을 'repl_test'@'120.77로 설정합니다. .***' '123456'으로 식별됨;
2, 마스터 로그 파일 및 로그 위치 기록
마스터 상태 표시;
데이터베이스에서
1. 마스터 서버 설정
마스터를
MASTER_HOST='120.77.159.43',
MASTER_USER='repl_test',
MASTER_PASSWORD='123456',
MASTER_PORT = 8000,
MASTER_LOG_FILE='mysql-bin.000047',
MASTER_LOG_POS=31로 변경하세요. 12;
2. 슬레이브 서버에서 복제 시작
슬레이브 시작
슬레이브 상태 표시 클러스터 데이터베이스 상태 확인
데이터 동기화 테스트
마스터 서버에서 새 DB를 생성하고 그런 다음 슬레이브 서버에 동기화
마스터 서버에 테이블을 생성하고 데이터를 작성한 후 슬레이브 서버에 동기화합니다. (Alibaba Cloud에서 무료로 적용한 두 개의 ECS 클라우드 서버, 마스터-슬레이브 지연은 아주 작게, 1초도 안되는 느낌)
슬레이브 상태를 표시할 때 Slave_IO_Running이 정상적으로 시작되었지만 Slave_SQL_Running이 시작되지 않은 것을 발견했습니다.
Slave_IO_Running: 예.
Slave_SQL_Running: No
여기를 참고하여 해결하세요
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; 클라이언트 실행 중, 여러 이벤트를 건너뛰는 데 사용되며 오류로 인해 동기화 프로세스가 중지된 경우에만 실행할 수 있습니다.
stopslave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
startslave
어쩌면 내가 늙고 감정에 예민한 탓인지
나는 항상 Linux를 두려워했거나 고정된 사고방식을 가지고 있었습니다. Linux (너무 어렵다) ) 난 절대 안 할 거야 --->그럼 내가 왜 그 사람을 만져야 해--->절대 그렇지 않아. 전에는 Linux를 접해본 적도 없는 친구를 며칠 만에 본 이후로 말이야. 접촉하면 자주 사용하는 조작 명령이 열리면서 가상머신을 처음부터 설치했는데, 그 이후로 감히 시작하지 못했는데, 대략적으로는 큰 격려를 받았습니다. Linux가 무엇인지 다시 한 번 느꼈습니다. 사람들은 정말 서로 비슷합니다. 좋게 말하면 어떤 사람들은 "강하다"고 합니다. 직설적으로 말하면, 그들은 IQ가 높다는 뜻입니다. 차근차근 조치를 취하는 것 외에는 방법이 없습니다. 느려지는 것을 두려워하지 말고, 사람이 하는 일을 두려워하지 마십시오. 어떤 면에서는 대단해요.
행동은 생각하는 방식을 바꿀 수 있습니다.
위 내용은 MySQL 마스터-슬레이브 마스터-슬레이브 복제 환경을 설정해 보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!