>  기사  >  데이터 베이스  >  MySQL5.7에서 부분 테이블의 듀얼 마스터 동기화를 구현하는 방법에 대한 프로세스 소개

MySQL5.7에서 부분 테이블의 듀얼 마스터 동기화를 구현하는 방법에 대한 프로세스 소개

黄舟
黄舟원래의
2017-09-05 13:31:311542검색

이 글에서는 주로 MySQL 5.7에서 듀얼 마스터 동기화의 일부 테이블 구현에 대한 관련 정보를 소개합니다. 이 글에서는 누구나 mysql을 배우고 사용할 수 있는 특정 참고 학습 가치를 제공합니다. 필요한 친구들은 아래에서 따라하고 배울 수 있습니다.

머리말

최근에 회사 자체 업무로 인해 두 데이터베이스 간의 일부 테이블에 실시간 양방향 데이터 동기화가 필요하며 데이터베이스 중 하나의 가동 중지 시간이 다른 데이터베이스에 영향을 미치지 않는 요구 사항이 발생했습니다. 데이터베이스를 사용하려면 나중에 재구성에 사용할 수 있도록 여기에 기술 연구를 기록하세요. 아래에서는 할 말이 많지 않으니, 자세한 소개를 살펴보겠습니다.

MySQL5.7 설치

직접 공식 홈페이지에 가셔서 yum 소스를 다운받아서 설치하시는 걸 추천드리며, 결국 안전하고 설치도 쉽습니다.


wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-server
# 安装MySQL5.7
systemctl start mysqld
# 启动MySQL

듀얼 마스터 구성

my.cnf 구성

이는 듀얼 마스터의 간단한 구성일 뿐이며 데이터베이스 관련 최적화가 필요하지 않은 경우 비공개 채팅을 할 수 있습니다.

MySQL1의 구성은 다음과 같습니다


[mysqld]
vim /etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip_name_resolve=ON
#设置简单密码
validate_password_policy=0
validate_password_length=1
###主配置
log_bin=bin_log
server-id=1
binlog-do-db=ziyun
# 允许从复制的哪一个库
slave_parallel_type='logical_clock'
#设置复制类型为 LOGICAL_CLOCK
slave_parallel_workers=4
#设置并行数量为 4
###从配置
relay-log=relay-bin
relay-log-index=relay-bin.index
replicate-do-db=ziyun
# 允许复制主服务的库
replicate-do-table=ziyun.test1
# 允许复制主服务的库的哪一张表
replicate-do-table=ziyun.test2

MySQL2의 구성은 기본적으로 위와 동일합니다. 하나만 수정하고server-id=2 나머지는 그대로 유지하세요

MySQL 명령 구성

다음은 모두 구성되어 있습니다 SQL 명령줄 인터페이스

주요 구성:


mysql> CREATE USER 'slave'@'192.168.1.100' IDENTIFIED BY '123.com'; 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.100';
# 授权复制的用户和密码
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| bin_log.000002 |  8384 | ziyun  |     |     |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

슬레이브 구성:


mysql> CHANGE MASTER TO
 -> MASTER_HOST='192.168.1.101',
 -> MASTER_USER='slave',
 -> MASTER_LOG_FILE='bin_log.000002',
 -> MASTER_LOG_POS=8384;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G
   Slave_IO_Running: Yes
   Slave_SQL_Running: Yes
# 确定以上都为yes,并且无任何报错即可

MySQL2에서도 같은 방식으로 구성

이중 마스터 동기화 테스트


여기 나는 데이터베이스 이전에 양쪽에 ziyun을 구축하고 test1 test2 test3 테이블을 구축했습니다. 테스트 결과는 다음과 같습니다.

Summary

위 내용은 MySQL5.7에서 부분 테이블의 듀얼 마스터 동기화를 구현하는 방법에 대한 프로세스 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.