Linux에서 mysql 마스터-슬레이브 서버 구축

王林
풀어 주다: 2020-01-30 20:17:54
앞으로
3418명이 탐색했습니다.

Linux에서 mysql 마스터-슬레이브 서버 구축

목표를 달성하려면

이제 두 개의 MySQL 서버(마스터 하나와 슬레이브 하나)를 구축해야 합니다. 하나는 마스터 서버로, 다른 하나는 슬레이브 서버로 사용합니다. 읽기 작업을 수행합니다.

Workflow

마스터 서버:

바이너리 로그 활성화

고유한 서버 ID 구성

마스터 바이너리 로그 파일 이름 및 위치 가져오기

슬레이브 및 마스터 통신을 위한 사용자 계정을 생성합니다.

슬레이브 서버:

고유한 서버 ID를 구성하세요.

마스터 바이너리 로그를 읽으려면 마스터가 할당한 사용자 계정을 사용하세요.

슬레이브 서비스를 활성화하세요.

(무료 학습 동영상 튜토리얼 추천:mysql 동영상 튜토리얼)

준비

마스터 데이터베이스와 슬레이브 데이터베이스 버전이 동일한 것이 가장 좋습니다

마스터 데이터베이스와 슬레이브 데이터베이스의 데이터는 일관성이 있어야 합니다

마스터 데이터베이스: 192.168.244.201: 3306

슬레이브 데이터베이스: 192.168.244.202: 3306

구성 시작

마스터 메인 서버 구성

구성 파일 찾기 my.c nf(Windows의 my.ini ) 마스터 데이터베이스 중 내 파일은 /etc/my.cnf에 있습니다.
[mysqld] 섹션에 다음 두 줄을 삽입하세요.

[mysqld] log-bin=mysql-bin #开启二进制日志 server-id=201 #设置server-id,唯一值,标识主机
로그인 후 복사

Mysql 서비스를 다시 시작하세요

systemctl restart mysqld
로그인 후 복사
로그인 후 복사

마스터-슬레이브에 대한 계정/비밀번호 만들기 동기화

MySQL 입력: mysql -u root -p Enter 비밀번호를 입력하세요.

제가 만든 사용자 이름은 "master_root"이고 비밀번호는 "MySql@6688"

[참고: 간편 비밀번호 123456을 지원하도록 비밀번호가 변경되었기 때문에 여기서 신규 사용자를 생성할 때 문제가 좀 있습니다. 비밀번호가 정책을 준수하지 않습니다. 잠깐만요. 나중에 간단히 mysql을 다시 설치하고 기본 복잡한 비밀번호를 사용했는데 더 이상 문제가 없었습니다. 실제로 익숙해지는 것이 좋습니다. 】

아래 %를 사용하고 있으며, 구체적인 IP는 적지 않았으니 직접 결정하시면 됩니다.

#创建用户(IP为可访问该master的IP,任意IP就写'%') mysql> CREATE USER 'master_root'@'192.168.244.202' IDENTIFIED BY 'MySql@6688'; #分配权限(IP为可访问该 master的IP,任意IP就写'%') mysql> GRANT REPLICATION SLAVE ON *.* TO 'master_root'@'192.168.244.202'; #刷新权限 mysql>flush privileges;
로그인 후 복사

마스터 상태를 확인하고 바이너리 파일명(mysql-bin.000001)과 위치(154)를 기록해두세요. 나중에 슬레이브 라이브러리를 구성할 때 사용됩니다.

show master status;
로그인 후 복사

Linux에서 mysql 마스터-슬레이브 서버 구축

슬레이브 메인 서버 구성

my.cnf 파일 수정

vim /etc/my.cnf
로그인 후 복사
[mysqld] server-id=202 #设置server-id,唯一值,唯一标识从库
로그인 후 복사

mysql 서비스 재시작

systemctl restart mysqld
로그인 후 복사
로그인 후 복사

mysql에 로그인하고 동기화 sql 문 실행(main 서버 이름 , 마스터-슬레이브에 사용됨 사용자 이름, 비밀번호, 바이너리 파일 이름, 위치)

mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.244.201', -> MASTER_USER='master_root', -> MASTER_PASSWORD='MySql@6688', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=154;
로그인 후 복사

슬레이브 동기화 프로세스 시작

mysql>start slave;
로그인 후 복사

슬레이브 상태 확인

show slave status\G
로그인 후 복사

세미콜론을 따르지 않도록 주의하세요. 마지막 줄에는 다음과 같은 오류가 표시됩니다.

ERROR: No query specified
로그인 후 복사

Slave_IO_Running과 Slave_SQL_Running이 모두 YES인 경우 마스터-슬레이브 동기화 설정이 성공한 것입니다.

그런 다음 마스터 데이터베이스의 테스트 데이터베이스에 있는 테이블에 데이터 조각을 삽입하고 마스터 데이터베이스를 확인하기 위해 슬레이브 테스트 데이터베이스의 동일한 데이터 테이블에 새 데이터가 있는지 확인하는 등 몇 가지 확인을 수행할 수 있습니다. 슬레이브 복제 기능이 유효하면 슬레이브를 닫은 다음(mysql>stop 슬레이브;) 마스터를 수정하여 슬레이브가 그에 따라 수정되었는지 확인할 수도 있습니다(슬레이브를 중지한 후에는 마스터의 수정 사항이 적용되지 않습니다). 슬레이브에 동기화) 그러면 마스터-슬레이브 복제 기능의 검증이 완료될 수 있습니다.

기타 관련 매개변수:

바이너리 로그를 켜면 마스터는 기본적으로 모든 데이터베이스와 모든 테이블의 작업을 기록하도록 지정할 수 있습니다. 특히 mysql 구성 파일의 [mysqld]에서 다음 옵션을 추가하고 수정할 수 있습니다.

동기화되지 않은 데이터베이스

binlog-ignore-db = mysql binlog-ignore-db = test binlog-ignore-db = information_schema
로그인 후 복사

동기화되는 데이터베이스만, 추가로 다른 데이터베이스는 동기화되지 않습니다

binlog-do-db = game
로그인 후 복사

이전에 마스터 상태를 보면 알 수 있듯이 매뉴얼과 mysql 라이브러리는 무시하고 테스트 라이브러리만 기록됩니다.

추천 관련 기사 및 튜토리얼:mysql 튜토리얼

위 내용은 Linux에서 mysql 마스터-슬레이브 서버 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!