이 글은 주로 MySQL5.7.18 마스터-슬레이브 복제 설정(마스터 1개, 슬레이브 1개)에 대한 자세한 튜토리얼을 소개합니다. 필요한 친구들이 참고하면 도움이 될 것입니다. MySQL은 복제 기능을 수행하기 위해 3개의 스레드를 사용합니다(그 중 하나는 마스터 서버에 있고 다른 두 개는 슬레이브 서버에 있습니다. 이 기사의 내용을 자세히 소개하겠습니다.
1. 복제 원리
마스터 서버는 업데이트를 작성합니다) 이진 로그 파일에 저장하고 로그 회전을 추적하기 위해 파일 인덱스를 유지합니다. 이러한 로그는 슬레이브 서버에 전송된 업데이트를 기록합니다. 위치. 슬레이브는 그 이후 발생한 모든 업데이트를 수신한 다음 마스터가 새 업데이트를 알릴 때까지 기다립니다.
MySQL은 3개의 스레드를 사용하여 복제 기능을 수행합니다. 2) 서버에서 START SLAVE가 실행되면 슬레이브 서버는 마스터 서버에 연결하기 위한 I/O 스레드를 생성하고 마스터 서버는 스레드를 생성하여 마스터 서버에 보냅니다.
이 스레드는 마스터 서버의 Binlog Dump 스레드입니다. 슬레이브 서버 I/O 스레드는 마스터 서버 Binlog Dump 스레드에서 보낸 내용을 읽고 데이터를 복사합니다. 슬레이브 서버 데이터 디렉터리의 로컬 파일, 즉 릴레이 로그입니다. 세 번째 스레드는 릴레이 로그를 읽고 로그에 포함된 업데이트를 실행하기 위해 서버에서 생성되는 SQL 스레드입니다. 서버 준비
운영 체제 버전: Red Hat Enterprise Linux Server 릴리스 6.7(Santiago).
Master(마스터) ip: 172.16.115.245 호스트 이름: mysql2 server_id:245
Slave(슬레이브) ip: 172.16.115.247 호스트 이름 : mysql3 server_id:2 47
MySQL5.7.18
마스터 서버와 슬레이브 서버 모두에 설치됨 3. 마스터-슬레이브 복제 구현 세부 사항
1 마스터 서버에 서버에 대한 연결 계정을 설정하고 REPLICATION SLAVE 부여.
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl@20170509';
2. 마스터 구성 파일 my.cnf
server-id = 245 log_bin = /data/mysqllog/3306/bin_log/binlog
를 수정하세요. 그 후 MySQL을 다시 시작하세요.
mysqldump -uroot -p'密码' --master-data=2 --single-transaction -R --triggers -A > /backup/all.sql
지침 :
--master-data=2는 백업 시 Binlog 위치와 마스터의 위치를 기록한다는 의미
--단일 트랜잭션은 일관성 스냅샷을 얻는다는 의미-R은 저장 프로시저 및 함수를 백업한다는 의미
--triggers 백업 트리거-A는 모든 라이브러리 백업을 의미합니다
4. binlog 이름과 메인 라이브러리 백업 위치를 확인하거나
SHOW MASTER STATUS; mysql> SHOW MASTER STATUS; +---------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---------------+----------+--------------+------------------+-------------------+ | binlog.000004 | 79394496 | | | | +---------------+----------+--------------+------------------+-------------------+
로 이동하여 방금 백업한 데이터베이스 파일을 살펴보세요: vi all.sql
5. 슬레이브 라이브러리 구성 파일 my.cnf
server-id = 247 (唯一,不能与主库一样,一般设为服务器IP后3位) log_bin = /data/mysql/logdir/3306/bin_log/binlog innodb_file_per_table = ON skip_name_resolve = ON relay_log = /data/mysql/logdir/3306/relay_log/relay.log binlog-format = row log-slave-updates = true
read_only=ON(읽기 전용 모드) 수정
설정 후 MySQL을 다시 시작하세요.
6. 슬레이브 서버에서 마스터 백업을 복원합니다.
mysql -u root -p'密码' <p>7. 슬레이브 라이브러리를 중지하고 마스터-슬레이브 매개변수를 구성한 다음 슬레이브 라이브러리를 엽니다. </p><pre class="brush:php;toolbar:false">mysql> stop slave; #暂停从库 mysql>CHANGE MASTER TO MASTER_HOST='172.16.115.245',MASTER_USER='repl', MASTER_PASSWORD='repl@20170509',MASTER_LOG_FILE='binlog.000004',MASTER_LOG_POS=154; mysql> start slave; #启动复制 mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.16.115.245 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: binlog.000004 Read_Master_Log_Pos: 104634190 Relay_Log_File: relay.000003 Relay_Log_Pos: 104632819 Relay_Master_Log_File: binlog.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 104634190 Relay_Log_Space: 104634713 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 245 Master_UUID: 4f545573-3170-11e7-b903-000c29462d8c Master_Info_File: /data/mysql/datadir/3306/data/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version:
8. 마스터 및 슬레이브 관련 프로세스를 확인합니다.
master Binlog Dump 스레드:
mysql> SHOW PROCESSLIST \G *************************** 1. row *************************** Id: 13 User: repl Host: 172.16.115.247:44602 db: NULL Command: Binlog Dump Time: 76514 State: Master has sent all binlog to slave; waiting for more updates Info: NULL
slave IO/SQL 스레드:
mysql> SHOW PROCESSLIST \G *************************** 1. row *************************** Id: 10 User: system user Host: db: NULL Command: Connect Time: 81148 State: Waiting for master to send event Info: NULL *************************** 2. row *************************** Id: 12 User: system user Host: db: NULL Command: Connect Time: 5 State: Reading event from the relay log Info: NULL
9 이 시점에서 마스터-슬레이브 구성이 완료되었으며 생성할 수 있습니다. 마스터 서버의 데이터베이스, 테이블 등을 동작시켜 슬레이브 데이터베이스의 동기화 여부를 확인해보세요!
관련 권장 사항:Mysql 마스터-슬레이브 복제 설정_MySQL
MySQL이 마스터-슬레이브 복제 프로세스를 구현하는 방법에 대한 자세한 예(그림)
위 내용은 MySQL 5.7.18 마스터-슬레이브 복제를 위한 마스터-슬레이브 인스턴스 설정에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

데이터베이스 및 프로그래밍에서 MySQL의 위치는 매우 중요합니다. 다양한 응용 프로그램 시나리오에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 웹, 모바일 및 엔터프라이즈 레벨 시스템을 지원하는 효율적인 데이터 저장, 조직 및 검색 기능을 제공합니다. 2) 클라이언트 서버 아키텍처를 사용하고 여러 스토리지 엔진 및 인덱스 최적화를 지원합니다. 3) 기본 사용에는 테이블 작성 및 데이터 삽입이 포함되며 고급 사용에는 다중 테이블 조인 및 복잡한 쿼리가 포함됩니다. 4) SQL 구문 오류 및 성능 문제와 같은 자주 묻는 질문은 설명 명령 및 느린 쿼리 로그를 통해 디버깅 할 수 있습니다. 5) 성능 최적화 방법에는 인덱스의 합리적인 사용, 최적화 된 쿼리 및 캐시 사용이 포함됩니다. 모범 사례에는 거래 사용 및 준비된 체계가 포함됩니다

MySQL은 소규모 및 대기업에 적합합니다. 1) 소기업은 고객 정보 저장과 같은 기본 데이터 관리에 MySQL을 사용할 수 있습니다. 2) 대기업은 MySQL을 사용하여 대규모 데이터 및 복잡한 비즈니스 로직을 처리하여 쿼리 성능 및 트랜잭션 처리를 최적화 할 수 있습니다.

InnoDB는 팬텀 읽기를 차세대 점화 메커니즘을 통해 효과적으로 방지합니다. 1) Next-Keylocking은 Row Lock과 Gap Lock을 결합하여 레코드와 간격을 잠그기 위해 새로운 레코드가 삽입되지 않도록합니다. 2) 실제 응용 분야에서 쿼리를 최적화하고 격리 수준을 조정함으로써 잠금 경쟁을 줄이고 동시성 성능을 향상시킬 수 있습니다.

MySQL은 프로그래밍 언어가 아니지만 쿼리 언어 SQL은 프로그래밍 언어의 특성을 가지고 있습니다. 1. SQL은 조건부 판단, 루프 및 가변 작업을 지원합니다. 2. 저장된 절차, 트리거 및 기능을 통해 사용자는 데이터베이스에서 복잡한 논리 작업을 수행 할 수 있습니다.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 주로 데이터를 신속하고 안정적으로 저장하고 검색하는 데 사용됩니다. 작업 원칙에는 클라이언트 요청, 쿼리 해상도, 쿼리 실행 및 반환 결과가 포함됩니다. 사용의 예로는 테이블 작성, 데이터 삽입 및 쿼리 및 조인 작업과 같은 고급 기능이 포함됩니다. 일반적인 오류에는 SQL 구문, 데이터 유형 및 권한이 포함되며 최적화 제안에는 인덱스 사용, 최적화 된 쿼리 및 테이블 분할이 포함됩니다.

MySQL은 데이터 저장, 관리, 쿼리 및 보안에 적합한 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1. 다양한 운영 체제를 지원하며 웹 응용 프로그램 및 기타 필드에서 널리 사용됩니다. 2. 클라이언트-서버 아키텍처 및 다양한 스토리지 엔진을 통해 MySQL은 데이터를 효율적으로 처리합니다. 3. 기본 사용에는 데이터베이스 및 테이블 작성, 데이터 삽입, 쿼리 및 업데이트가 포함됩니다. 4. 고급 사용에는 복잡한 쿼리 및 저장 프로 시저가 포함됩니다. 5. 설명 진술을 통해 일반적인 오류를 디버깅 할 수 있습니다. 6. 성능 최적화에는 인덱스의 합리적인 사용 및 최적화 된 쿼리 문이 포함됩니다.

MySQL은 성능, 신뢰성, 사용 편의성 및 커뮤니티 지원을 위해 선택됩니다. 1.MYSQL은 효율적인 데이터 저장 및 검색 기능을 제공하여 여러 데이터 유형 및 고급 쿼리 작업을 지원합니다. 2. 고객-서버 아키텍처 및 다중 스토리지 엔진을 채택하여 트랜잭션 및 쿼리 최적화를 지원합니다. 3. 사용하기 쉽고 다양한 운영 체제 및 프로그래밍 언어를 지원합니다. 4. 강력한 지역 사회 지원을 받고 풍부한 자원과 솔루션을 제공합니다.

InnoDB의 잠금 장치에는 공유 잠금 장치, 독점 잠금, 의도 잠금 장치, 레코드 잠금, 갭 잠금 및 다음 키 잠금 장치가 포함됩니다. 1. 공유 잠금을 사용하면 다른 트랜잭션을 읽지 않고 트랜잭션이 데이터를 읽을 수 있습니다. 2. 독점 잠금은 다른 트랜잭션이 데이터를 읽고 수정하는 것을 방지합니다. 3. 의도 잠금은 잠금 효율을 최적화합니다. 4. 레코드 잠금 잠금 인덱스 레코드. 5. 갭 잠금 잠금 장치 색인 기록 간격. 6. 다음 키 잠금은 데이터 일관성을 보장하기 위해 레코드 잠금과 갭 잠금의 조합입니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Dreamweaver Mac版
시각적 웹 개발 도구
