Windows 호스트에서 MySQL 마스터-슬레이브 복제를 구현하는 방법은 무엇입니까?
MySQL의 마스터-슬레이브 복제는 binlog 로그를 통해 구현됩니다. 마스터-슬레이브 복제에서 "마스터"는 MySQL 마스터 서버의 데이터베이스를 의미하고 "슬레이브"는 MySQL 슬레이브 서버의 데이터베이스를 의미하며 이는 복제는 데이터베이스 수준을 기반으로 합니다. 따라서 슬레이브 서버의 데이터베이스 이름은 마스터 서버의 데이터베이스 이름과 일치해야 합니다. 그런 다음 마스터-슬레이브 복제를 수행하려면 최소한 두 대의 MySQL 서버가 있어야 합니다. 두 개의 MySQL 서버) 서버가 서로 다른 호스트에 있거나 두 개의 MySQL이 서로 다른 포트를 사용하여 한 호스트에 설치되어 있습니다.
일반적으로 MySQL 데이터베이스의 메인 데이터베이스와 슬레이브 데이터베이스는 서로 다른 호스트에 배포됩니다. 현재 호스트가 하나만 있고 Windows 시스템인 경우 MySQL의 마스터-슬레이브 복제를 구현하는 방법은 무엇입니까? 방법은 다음과 같습니다.
여기에서는 마스터 하나와 슬레이브 하나의 작동 방법만 소개합니다.
내 컴퓨터에는 xampp 통합 환경(wamp 설치 패키지와 유사)이 설치되어 있으며, 그 안에 있는 MySQL 서비스를 MySQL의 메인 서버로 사용할 수 있습니다. 그런 다음 이 컴퓨터에 데이터베이스의 슬레이브 서버로 또 다른 MySQL을 설치해야 합니다.
내 컴퓨터 xampp에 설치된 MySQL 버전은 5.6.20이고 포트는 3306입니다.
다른 MySQL을 설치해야 하며(문제를 방지하려면 동일한 버전 또는 유사한 버전을 설치하는 것이 가장 좋음) 포트가 3307
로 변경됩니다. 데이터베이스 서버 매개변수:
마스터 서버(마스터): IP는 127.0.0.1, 포트는 3306
슬레이브(슬레이브): IP는 127.0.0.1, 포트는 3307
마스터 서버 구성:
마스터 서버 데이터베이스 구성 파일(E:xamppmysqlbinmy.ini)을 수정하고 [mysqld] 태그 하단에 다음 코드를 추가합니다.
#백업해야 할 데이터베이스 binlog-do -db=test#필요하지 않음 백업된 데이터베이스 binlog-ignore-db=mysql #바이너리 로그 활성화 log-bin=mysql-bin#서버 IDserver-id=1 저장하고 종료한 후 MySQL 메인 서버를 다시 시작합니다. binlog-do-db는 동기화해야 하는 데이터베이스를 지정하는 데 사용되며,binlog-ignore-db는 동기화할 필요가 없는 데이터베이스를 지정하는 데 사용됩니다. 두 매개변수가 모두 설정되지 않은 경우 슬레이브 서버는 모든 데이터베이스를 복사합니다. 마스터 서버.
일반적으로 루트 계정은 계정 동기화에 사용되지 않습니다. 따라서 메인 서버에 새 사용자를 생성해야 합니다(예: user01, 비밀번호는 123456).
여기서 명령줄을 사용하여 생성합니다. 방법은 다음과 같습니다.
cmd를 열고 E:xamppmysqlbin으로 전환한 다음 루트 계정을 사용하여 MySQL 메인 서버에 연결합니다.
mysql -uroot -p -P3306
새 사용자 만들기:
'123456'으로 식별되는 'user01'@'127.0.0.1' 사용자 만들기;
(다음 IP 주소는 @는 연결이 허용된 클라이언트의 IP 주소입니다. )
그런 다음 새 사용자에 대한 마스터-슬레이브 복제 권한을 구성합니다.
그랜트 *.*의 복제 슬레이브를 '123456'으로 식별되는 'user01'@'127.0.0.1';
(@ 뒤의 IP 주소는 연결이 허용된 클라이언트의 IP 주소입니다. '%'로 변경되었습니다. 클라이언트에 IP 주소 제한이 없다는 의미입니다.)
메인 서버의 데이터베이스(테스트)에 이미 데이터가 있는 경우 메인 서버에 있는 데이터를 수동으로 복사해야 합니다. 먼저 슬레이브 서버. 방법은 다음과 같습니다.
이 경우에는 데이터베이스 하나만 백업합니다(테스트). 테스트에는 basic_user 테이블이 있고, 테이블에 이미 데이터가 있습니다. 데이터를 복사할 때 데이터베이스 테스트의 데이터가 업데이트되는 것을 방지하려면 먼저 데이터베이스를 잠가야 합니다. 명령은 다음과 같습니다.
읽기 잠금으로 테이블을 플러시합니다. 이 명령은 기본 서버의 모든 데이터베이스에 읽기 잠금을 추가합니다. 읽기 잠금과 쓰기 잠금의 차이점은 다음과 같습니다.
읽기 잠금(읽기 잠금)이라고도 합니다. 공유 잠금, 모든
읽기 작업을 허용하지만 쓰기 작업은 차단합니다. 즉, 모든 연결은 데이터를 읽을 수만 있고 데이터를 쓸 수는 없습니다.
쓰기 잠금(쓰기 잠금): 배타 잠금이라고도 하며 배타 잠금은 현재 연결의 읽기 및 쓰기만 허용하고 다른 동시 읽기 작업 및 쓰기 작업은 허용하지 않습니다.
마스터 서버의 데이터베이스를 잠근 후 슬레이브 서버에서도 데이터베이스 테스트를 생성하고 모든 테이블(테이블 구조 및 테이블 데이터 포함)을 가져옵니다.
그런 다음 다음 명령을 실행하여 잠금을 해제합니다.
unlock tables
주 서버의 마스터 상태 보기:
mysql gt; 쇼 마스터 상태; +------+----------+-------------+ --- ---------------+------+| 파일 | Binlog_Do_DB | Execulated_Gtid_Set | +------+----------+------------+---------+ --- ---------------+------+
| mysql-bin.000008 | mysql | 테스트 | ------+------+
구성: server:
슬레이브 서버의 데이터베이스 구성 파일(E:mysqlmy.ini)을 수정하고 [mysqld] 태그 하단에 다음 코드를 추가합니다.
#port port = 3307
#serveridserver_id = 2
#바이너리 로그 활성화(슬레이브 서버는 바이너리 로그를 활성화할 필요가 없습니다)
log-bin=mysql-bin
저장하고 종료하고 MySQL 서비스를 다시 시작합니다.
MySQL 슬레이브 서버에 연결:
mysql -uroot -p -P3307
복제 매개변수 구성:
마스터를 master_host='127.0.0.1',master_user='user01',master_password로 변경 = '123456',master_port=3306,master_log_file='mysql-bin.000008',master_log_pos=498;
매개변수 세부정보:
master_host: 메인 서버의 IP
master_user : master 서버에 새로 생성된 사용자 이름
master_password: 사용자의 비밀번호
master_port: 마스터 서버의 포트가 수정되지 않은 경우 기본값이면 충분합니다.
master_log_file : 마스터 서버 바이너리 로그 파일명, 마스터 서버의 마스터 상태 조회 시 표시되는 File 값 입력
master_log_pos : 로그 위치, 채우기 마스터 서버의 마스터 상태를 보려면
일 때 표시되는 위치 값 슬레이브 서버의 슬레이브 복제 기능 시작: start 슬레이브 슬레이브 서버의 슬레이브 상태 보기: mysql> ; 슬레이브 상태 표시 G********* ******************** 1. 행 ************ *************** I SLAVE_IO_STATE: 마스터가 이벤트를 보내기를 기다리는 중 Master_host: 127.0.0.1 Master_user: User01 Master_Port: 3306Connect_retry: 60 Master_log_file: MySQL-BIN.000000 09_ Read_Master_LOG_POS: 120 Relay_log_file: hp-PC-relay-bin.000004 사용 hp-PC-relay-bin을 사용합니다. Yes Slave_SQL_Running: YesSlave_IO_Running 및 Slave_SQL_Running의 값이 모두 Yes이면 마스터-슬레이브 복제의 모든 구성이 성공한 것입니다. 즉, 슬레이브 서버가 데이터베이스 데이터를 마스터 서버와 자동으로 동기화할 수 있다는 의미입니다.
이후 마스터 서버의 데이터가 업데이트되는 한(예: 테스트 데이터베이스에 새 테이블이 생성되거나 테이블의 데이터가 변경되는 경우) 슬레이브 서버는 자동으로 다음과 일치합니다. 마스터 서버. 그러나 누군가 의도적으로 슬레이브 서버의 데이터를 변경하는 경우 두 개의 MySQL 서버를 상호 마스터-슬레이브로 설정하지 않는 한 마스터 서버의 데이터는 동기적으로 업데이트되지 않습니다.
위는 윈도우 환경에서 mysql을 구성하는 마스터-슬레이브 아키텍처에 대해 정리한 내용입니다. 관심 있는 친구들은 시도해 볼 수 있습니다.
관련 기사:
navicat for mysql 다운로드 , 간단하게 설치하고 사용하세요
위 내용은 Windows 호스트에서 MySQL 마스터-슬레이브 복제를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











예, MySQL은 Windows 7에 설치 될 수 있으며 Microsoft는 Windows 7 지원을 중단했지만 MySQL은 여전히 호환됩니다. 그러나 설치 프로세스 중에 다음 지점이 표시되어야합니다. Windows 용 MySQL 설치 프로그램을 다운로드하십시오. MySQL의 적절한 버전 (커뮤니티 또는 기업)을 선택하십시오. 설치 프로세스 중에 적절한 설치 디렉토리 및 문자를 선택하십시오. 루트 사용자 비밀번호를 설정하고 올바르게 유지하십시오. 테스트를 위해 데이터베이스에 연결하십시오. Windows 7의 호환성 및 보안 문제에 주목하고 지원되는 운영 체제로 업그레이드하는 것이 좋습니다.

느린 Photoshop 스타트 업 문제를 해결하려면 다음을 포함한 다중 프론트 접근 방식이 필요합니다. 하드웨어 업그레이드 (메모리, 솔리드 스테이트 드라이브, CPU); 구식 또는 양립 할 수없는 플러그인 제거; 정기적으로 시스템 쓰레기 및 과도한 배경 프로그램 청소; 주의를 기울여 관련없는 프로그램 폐쇄; 시작하는 동안 많은 파일을 열지 않도록합니다.

Photoshop에서 수직 가이드를 당기기 : 통치자보기 (보기 & gt; inuler)를 활성화하십시오. 통치자의 수직 가장자리 위로 마우스를 마우스로 덮은 다음 커서는 이중 화살표가있는 수직선이되고 마우스를 잡고 드래그하여 참조 라인을 꺼냅니다. 가이드를 드래그하거나 십자가로 가져 가서 삭제를 클릭하십시오.

MySQL 연결은 다음과 같은 이유로 인한 것일 수 있습니다. MySQL 서비스가 시작되지 않았고 방화벽이 연결을 가로 채고 포트 번호가 올바르지 않으며 사용자 이름 또는 비밀번호가 올바르지 않으며 My.cnf의 청취 주소가 부적절하게 구성되어 있습니다. 1. MySQL 서비스가 실행 중인지 확인합니다. 2. MySQL이 포트 3306을들을 수 있도록 방화벽 설정을 조정하십시오. 3. 포트 번호가 실제 포트 번호와 일치하는지 확인하십시오. 4. 사용자 이름과 암호가 올바른지 확인하십시오. 5. my.cnf의 바인드 아드 드레스 설정이 올바른지 확인하십시오.

터미널에서 MySQL에 액세스 할 수 없음 : MySQL 서비스가 실행되지 않음; 연결 명령 오류; 불충분 한 권한; 방화벽 블록 연결; MySQL 구성 파일 오류.

MySQL 설치 오류에 대한 솔루션은 다음과 같습니다. 1. MySQL 종속성 라이브러리 요구 사항이 충족되도록 시스템 환경을주의 깊게 확인하십시오. 다른 운영 체제 및 버전 요구 사항이 다릅니다. 2. 오류 메시지를주의 깊게 읽고 프롬프트 (예 : 라이브러리 파일 누락 또는 부족한 권한)에 따라 종속성 설치 또는 Sudo 명령 사용과 같은 해당 조치를 취합니다. 3. 필요한 경우 소스 코드를 설치하고 컴파일 로그를주의 깊게 확인하십시오. 그러나 일정량의 Linux 지식과 경험이 필요합니다. 궁극적으로 문제를 해결하는 핵심은 시스템 환경 및 오류 정보를 신중하게 확인하고 공식 문서를 참조하는 것입니다.

MySQL 설치 실패의 주된 이유는 다음과 같습니다. 1. 권한 문제, 관리자로 실행하거나 Sudo 명령을 사용해야합니다. 2. 종속성이 누락되었으며 관련 개발 패키지를 설치해야합니다. 3. 포트 충돌, 포트 3306을 차지하는 프로그램을 닫거나 구성 파일을 수정해야합니다. 4. 설치 패키지가 손상되어 무결성을 다운로드하여 확인해야합니다. 5. 환경 변수가 잘못 구성되었으며 운영 체제에 따라 환경 변수를 올바르게 구성해야합니다. 이러한 문제를 해결하고 각 단계를 신중하게 확인하여 MySQL을 성공적으로 설치하십시오.

사무실 소프트웨어 마스터 링 비밀에는 다음이 포함됩니다. 다양한 버전 및 플랫폼 이해, 올바르게 설치 및 구성, 소프트웨어 인터페이스 사용에 능숙하며 기능 운영에 대한 심층적 인 이해, 응용 프로그램 협업 및 기능 공유 기능, 템플릿 및 스타일 사용, 고급 기술 마스터 및 일반적인 문제 해결. 또한 요구에 맞는 버전을 선택하고 템플릿과 스타일을 잘 활용하고 백업 습관을 개발하며 효율성을 향상시키기 위해 바로 가기 키와 고급 기술을 학습해야합니다.
