찾다
데이터 베이스MySQL 튜토리얼MYSQL 듀얼 마스터 전체 데이터베이스 동기 복제의 자세한 예

환경:

두 서버 A와 B에는 각각 mysql-5.7.18 서버가 설치되어 있으며 서로의 마스터와 슬레이브를 동기화하도록 구성되어 있습니다.

리눅스 시스템 버전은 CentOS7입니다

A 서버 ip: 192.168.1.7 호스트 이름: test1

B 서버 ip: 192.168.1.8 호스트 이름: test2

(동일 LAN 하)

1. 준비

1 . 호스트 이름 수정 命 명령: HostnameCTL SET-Hostname xxx

(호스트 이름 보기 명령: 호스트 이름)

2. 방화벽 끄기

1) 방화벽 상태 보기

  2) 방화벽이 실행 중입니다. 먼저 종료하세요. 방화벽 서비스 다운

  명령: systemctl 마스크 방화벽d

 3) 방화벽 끄기

  명령: systemctl stop Firewalld

  4) 방화벽 상태 확인

  명령: Firewall-cmd --state

  결과: 실행되지 않음

  3. selinux 정책 끄기

  1) selinux 실행 상태 확인

  명령어: getenforce

                                               ductcredlegum selinux 파일vi /etc/sysconfig/selinux 수정 SELINUX=disabled

  

  3) 폐쇄상태로

2. 마스터 서버(master) 슬레이브 서버(slave) 구성

  1. 서버 A vi /etc/my.cnf의 my.cnf 파일을 열고 파일의 [mysqld] 아래에 다음 내용을 추가합니다

 server-id=1    #반드시 다른 서버와 달라야 하며, 1~232 사이의 양의 정수 값이어야 합니다. server-id 값만 변경하세요.

log-bin=mysql-bin
   log-bin-index=mysql-bin

  2. 서버 A의 mysql 설치 경로(rpm 설치 경로는 /var/lib/mysql)에 전체 데이터베이스 백업 파일 all.sql을 생성합니다.

  생성 명령:

server-id=2    
   log-bin=mysql-bin
   log-bin-index=mysql-bin

  백업 명령:

touch  /var/lib/mysql/all.sql

  복구를 위해 all.sql 파일을 서버 B의 특정 경로(예: /var/lib/mysql 경로)에 복사합니다.

 복원 명령:

[root@test1 mysql]# mysqldump -uroot -p123 --all-databases > /var/lib/mysql/all.sql

  3. 서버 A와 B의 mysql에 동기화를 위한 사용자를 생성합니다.

  사용자 생성:

[root@test2 /]# mysql -uroot -p123 < /var/lib/mysql/all.sql

  인증:

mysql> create user &#39;tongbu&#39;@&#39;%&#39; identified by &#39;tongbu&#39;;

  사용자 삭제:

mysql> grant all on *.* to &#39;tongbu&#39;@&#39;%&#39;;

  A 서버와 B 서버 사용자가 생성된 후, 사용자가 서로 원격으로 mysql에 로그인할 수 있는지 테스트합니다.

mysql> drop user &#39;用户名&#39;@&#39;%&#39;;

  테스트에 문제가 없으면 A, B 서버에서 mysql 서비스를 다시 시작합니다. [root@test /]# service mysqld restart

   4. A를 마스터 서버로, B를 슬레이브 서버로 설정합니다.

  1) 서버 A의 mysql

  Command: mysql> show master statusG

        

   2) B 서버에서 연결 서버 구성

[root@test1 /]# mysql -utongbu -ptongbu -h192.168.1.8
   [root@test2 /]# mysql -utongbu -ptongbu -h192.168.1.7

  mysql> showslave statusG 다음 명령을 입력하세요. 아래와 같이 Slave_IO_Running 및 Slave_SQL_Running의 값이 Yes인지 확인합니다

  

  5. B를 마스터 서버로, A를 슬레이브 서버로 설정합니다.

 1) 서버 B의 mysql에서 바이너리 로그 이름 및 오프셋 보기

 명령: mysql> show master statusG

  

  2) 서버 A에 연결 서버를 구성합니다.

mysql> stop slave;
    mysql> change master to
      -> master_host=&#39;192.168.1.7&#39;,
      -> master_user=&#39;tongbu&#39;,
      -> master_password=&#39;tongbu&#39;,
      -> master_log_file=&#39;mysql-bin.000024&#39;,
      -> master_log_pos=154;
    mysql> start slave;

이 시점에서 두 개의 mysql 데이터베이스는 마스터-슬레이브로 구성되어 서로 동기화됩니다.

오류 문제 해결:

1. Slave_IO_Running 상태 오류

MySQL> showslave statusG;를 확인할 때 Slave_IO_Running 상태는 연결 오류입니다. 구성을 확인해야 합니다.

 1) 네트워크 접속 불가

2) 잘못된 비밀번호, 잘못된 계좌번호, 잘못된 주소 등 잘못된 계정 권한 구성

 3) 바이너리 파일의 잘못된 위치

2. 1차 데이터와 2차 데이터의 충돌이나 차이로 인한 이상

 主键冲突、表已存在等错误代码如1062,1032,1060等,可以在mysql配置文件指定略过此类异常并继续下条sql同步,这样可以避免很多主从同步的异常中断。打开/etc/ mysql下的my.cnf文件,在[mysqld]后添加如下代码:

slave-skip-errors = 1062,1032,1060

3. 跳过异常恢复同步

mysql >slave stop;
 mysql >SET GLOBAL sql_slave_skip_counter = 1;
 mysql >slave start;

위 내용은 MYSQL 듀얼 마스터 전체 데이터베이스 동기 복제의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
MySQL은 다른 RDBM에 비해 동시성을 어떻게 처리합니까?MySQL은 다른 RDBM에 비해 동시성을 어떻게 처리합니까?Apr 29, 2025 am 12:44 AM

mysqlhandlesconcurrencyusingamixofrow-reveltable-levellocking, 주로 throughinnodb'srow-levellocking.comparedtootherrdbms, mysql 's trofficefice formanyusecasesbutmayfacechallengeswithdeadlocksandlacksadvancturespostpostgresql'sserializa

MySQL은 다른 관계형 데이터베이스에 비해 트랜잭션을 어떻게 처리합니까?MySQL은 다른 관계형 데이터베이스에 비해 트랜잭션을 어떻게 처리합니까?Apr 29, 2025 am 12:37 AM

mysqlhandlestransactionseffectialthicatied theinnodbengine, support-propertiessimilartopostgresqlandoracle.1) mysqlusesepeatablereadasthedefaultisolationlevel, itpoptormizestperformance와 함께

MySQL에서 사용 가능한 데이터 유형은 무엇입니까?MySQL에서 사용 가능한 데이터 유형은 무엇입니까?Apr 29, 2025 am 12:28 AM

MySQL 데이터 유형은 숫자, 날짜 및 시간, 문자열, 이진 및 공간 유형으로 나뉩니다. 올바른 유형을 선택하면 데이터베이스 성능 및 데이터 스토리지를 최적화 할 수 있습니다.

MySQL에서 효율적인 SQL 쿼리를 작성하기위한 모범 사례는 무엇입니까?MySQL에서 효율적인 SQL 쿼리를 작성하기위한 모범 사례는 무엇입니까?Apr 29, 2025 am 12:24 AM

모범 사례에는 다음이 포함됩니다. 1) 데이터 구조 및 MySQL 처리 방법 이해, 2) 적절한 인덱싱, 3) 선택을 피하십시오*, 4) 적절한 결합 유형 사용, 5)주의와 함께 하위 쿼리 사용, 6) 설명과 함께 쿼리 분석, 7) 서버 리소스에 대한 쿼리의 영향을 고려하십시오. 8) 데이터베이스를 정기적으로 유지하십시오. 이러한 관행은 MySQL 쿼리를 빠르게 만들뿐만 아니라 유지 보수, 확장 성 및 자원 효율성을 만들 수 있습니다.

MySQL은 PostgreSQL과 어떻게 다릅니 까?MySQL은 PostgreSQL과 어떻게 다릅니 까?Apr 29, 2025 am 12:23 AM

mysqlisbetterforspeedandsimplicity, 적절한 위장; postgresqlexcelsincmoMplexDatascenarioswithrobustFeat.MySqlisIdeAlforQuickProjectSandread-Heavytasks, whilepostgresqlisprefferredforapticationstrictaintetaintegritytetegritytetetaintetaintetaintegritytetaintegritytetaintegritytetainte

MySQL은 데이터 복제를 어떻게 처리합니까?MySQL은 데이터 복제를 어떻게 처리합니까?Apr 28, 2025 am 12:25 AM

MySQL은 비동기식, 반 동시성 및 그룹 복제의 세 가지 모드를 통해 데이터 복제를 처리합니다. 1) 비동기 복제 성능은 높지만 데이터가 손실 될 수 있습니다. 2) 반 동기화 복제는 데이터 보안을 향상 시키지만 대기 시간을 증가시킵니다. 3) 그룹 복제는 고 가용성 요구 사항에 적합한 다중 마스터 복제 및 장애 조치를 지원합니다.

설명 명세서를 사용하여 쿼리 성능을 분석 할 수있는 방법은 무엇입니까?설명 명세서를 사용하여 쿼리 성능을 분석 할 수있는 방법은 무엇입니까?Apr 28, 2025 am 12:24 AM

설명 설명은 SQL 쿼리 성능을 분석하고 개선하는 데 사용될 수 있습니다. 1. 쿼리 계획을 보려면 설명 명세서를 실행하십시오. 2. 출력 결과를 분석하고 액세스 유형, 인덱스 사용량 및 조인 순서에주의를 기울이십시오. 3. 분석 결과를 기반으로 인덱스 생성 또는 조정, 조인 작업을 최적화하며 전체 테이블 스캔을 피하여 쿼리 효율성을 향상시킵니다.

MySQL 데이터베이스를 어떻게 백업하고 복원합니까?MySQL 데이터베이스를 어떻게 백업하고 복원합니까?Apr 28, 2025 am 12:23 AM

논리 백업에 mysqldump를 사용하고 핫 백업을 위해 mysqlenterprisebackup을 사용하는 것은 mySQL 데이터베이스를 백업하는 효과적인 방법입니다. 1. MySQLDUMP를 사용하여 데이터베이스를 백업합니다 : MySQLDUMP-UROOT-PMYDATABASE> MYDATABASE_BACKUP.SQL. 2. Hot Backup : MySQLBackup- 사용자 = root-password = password-- backup-dir =/path/to/backupbackup에 mysqlenterprisebackup을 사용하십시오. 회복 할 때 해당 수명을 사용하십시오

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구