> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 마스터-슬레이브 동기화 작업을 설정하는 방법

MySQL에서 마스터-슬레이브 동기화 작업을 설정하는 방법

PHPz
풀어 주다: 2023-05-27 18:43:12
앞으로
1618명이 탐색했습니다.

1. MySQL 8.0 마스터-슬레이브 동기화

마스터-슬레이브 동기화 프로세스(원리):

  • master 는 변경 사항을 바이너리 로그 파일(바이너리 로그)에 기록합니다. , 구성 파일 log-bin에 의해 지정된 파일, 이러한 기록을 바이너리 로그 이벤트라고 합니다. master 将变动记录到二进制日志文件(binary log)中,即配置文件中 log-bin 指定的文件,这些记录叫做二进制日志事件(binary log events);

  • master 将二进制日志文件发送给 slave;

  • slave 通过 I/O 线程读取文件中的内容写到 relay 日志中;

  • slave 执行 relay 日志中的事件,完成数据在本地的存储。

搭建主从需要注意的事项:

  • 主从服务器操作系统版本和位数一致;

  • MasterSlave 数据库版本要一致;

  • Master 和 Slave 数据库中的数据要一致;

  • Master 开启二进制日志, Master 和 Slave 的 server_id 在局域网内必须唯一。

二、MySQL主从搭建

2.1 Master 上的操作

修改 master 的配置( my.cnf)加入下面的内容:

[mysqld]
  log-bin=mysql-bin
  # id 必须唯一!!!
  server-id=1
로그인 후 복사

重启 master:

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

在 master 中创建用于主从同步的用户:

mysql> # 创建用户
mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> # 授权用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%';
mysql> # 刷新权限
mysql> FLUSH PRIVILEGES;
로그인 후 복사

查看主服务器状态:

show master status;
로그인 후 복사

记录下 FilePosition 的值,之后要用到。

2.2 Slave 上的操作

修改slave 的配置( my.cnf)加入下面的内容:

[mysqld]
  # id 必须唯一!!!
  server-id=2
로그인 후 복사

重启 slave:

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

登录 MySQL 并运行以下命令,设置主节点参数:

mysql> CHANGE MASTER TO
MASTER_HOST='master的IP地址',
MASTER_USER='hugh',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='binlog.000006',
MASTER_LOG_POS=856;
로그인 후 복사

最后两行就是我们记录下的 File Position

master 는 바이너리 로그 파일을 슬레이브에 보냅니다. < code>slave 는 I/O 스레드를 통해 파일 내용을 읽고 이를 릴레이 로그에 기록합니다.

slave 는 릴레이에서 이벤트를 실행합니다. 스토리지의 로컬 데이터를 기록하고 완성합니다.

마스터-슬레이브 구축 시 주의 사항: 🎜🎜🎜🎜🎜마스터-슬레이브 서버 운영 체제 버전과 자릿수는 동일합니다. 🎜🎜🎜< code>마스터 슬레이브의 데이터베이스 버전은 일관성이 있어야 합니다. 🎜🎜🎜마스터 및 슬레이브 데이터베이스의 데이터는 일관성이 있어야 합니다. 🎜🎜🎜마스터. 바이너리 로그를 켜고 마스터와 슬레이브의 server_id는 LAN 내에서 고유해야 합니다. 🎜🎜2. MySQL 마스터-슬레이브 설정🎜

2.1 마스터 작업

🎜🎜마스터 구성(my.cnf)을 수정하고 다음 콘텐츠를 추가하세요.🎜🎜
mysql> show slave status\G;
로그인 후 복사
🎜 🎜 마스터 다시 시작: 🎜🎜
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
로그인 후 복사
🎜🎜마스터-슬레이브 동기화를 위해 마스터에서 사용자 생성: 🎜🎜rrreee🎜🎜마스터 서버 상태 보기: 🎜🎜rrreee🎜 파일 기록 위치 값은 나중에 사용됩니다. 🎜<h4>2.2 슬레이브 작업</h4>🎜🎜슬레이브 구성(my.cnf)을 수정하고 다음 콘텐츠를 추가하세요. 🎜🎜rrreee🎜🎜슬레이브 다시 시작: 🎜🎜rrreee🎜🎜MySQL에 로그인하고 다음을 실행하세요. 메인 노드 매개변수를 설정하는 다음 명령: 🎜🎜rrreee🎜마지막 두 줄은 우리가 기록한 <code>File Position 값입니다. 🎜🎜🎜마스터-슬레이브 동기화 상태 확인: 🎜🎜rrreee🎜🎜다음 정보를 확인하세요. 모두 '예'이면 구성이 성공한 것입니다. 🎜🎜rrreee

위 내용은 MySQL에서 마스터-슬레이브 동기화 작업을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿