마스터가 다운된 경우 Mysql 마스터-마스터 복제
centos 7에 동일한 버전의 "mysqlVer 15.1 Distributed 10.6.8-MariaDB"를 가진 두 대의 서버가 있습니다.
Mysql Master-Master 복제를 구현했습니다. master1은 server-1에 있고 master2는 server-2에 있습니다. 서버 중 하나가 다운되거나 마스터가 다운될 때 발생하는 현상입니다.
서버 하나가 다운되면 동일한 마스터에 쓰기로 전환되고 서버가 다시 가동되면 master2에 누락된 데이터를 복제하기 시작할 것으로 예상됩니다.저는 그것에 대해 확신하지 못합니다.
어떤 정보라도 도움이 될 것입니다.
복제는 이미 비동기식이므로 서버가 다운되면 다른 서버는 바이너리 변경 로그만 누적합니다.서버가 다시 작동하면 일반적으로 복제를 재개하고 점차 따라잡습니다.중단된 시간과 실행 중인 서버의 이진 로그에 축적된 변경 사항에 따라 서버가 따라잡는 데 시간이 걸릴 수 있습니다.
종종 이진 로그가 자동으로 만료되도록 구성됩니다.expire_logs_days
선택.서버가 너무 오래 중단되어 일부 이진 로그가 만료되어 서버가 로그를 가져와 따라잡을 수 없는 경우, 서버는 기본적으로 휴지통이므로 다른 로그의 새 백업에서 다시 초기화해야 합니다.바이너리 로그의 완전한 시퀀스 없이는 안정적으로 따라잡을 수 없습니다.
MariaDB에 트래픽을 다른 인스턴스로 자동 전환하는 방법이 있는지 모르겠습니다.이것은 쓰기에 어떤 것을 사용할지 아는 것은 클라이언트에게 달려 있습니다.이를 처리하는 방법은 여러 가지가 있지만, 그 중 100%의 경우 완벽하게 자동화되지는 않습니다.
수동으로 하는 것이 좋지만, 스위치를 빠르고 안정적으로 만드는 것이 좋습니다.그것은 인간이 언제 스위치를 실행해야 하는지 판단할 수 있게 합니다.하지만 만약 그 단계들이 잘 짜여진다면, 일단 인간이 그것을 발동하면, 그것은 정확하게 일어날 것입니다.단 하나의 명령어로 만들어 잠이 덜 깬 상태에서도 할 수 있도록 하는 것이 가장 좋습니다.서버는 깨어있지 않을 때 다운되는 습관이 있습니다! :-(
언급URL : https://stackoverflow.com/questions/72650628/mysql-master-master-replication-when-master-is-down
'it-source' 카테고리의 다른 글
JavaScript를 사용하여 객체에 값이 존재하는지 확인하는 방법 (0) | 2023.08.14 |
---|---|
var self = 이거? (0) | 2023.08.14 |
Oracle SQL: 테이블 이름 대신 사용되는 변수 (0) | 2023.08.14 |
Android Log.v(), Log.d(), Log.i(), Log.w(), Log.e() - 각 항목을 언제 사용해야 합니까? (0) | 2023.08.14 |
로케일::getDefault()를 기준으로 DateTime 개체를 포맷합니다. (0) | 2023.08.14 |