집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 데이터의 비동기 복제 및 지연 복제를 구현하는 방법은 무엇입니까?
MySQL은 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. 실제 응용 프로그램에서는 데이터 복제가 필요한 시나리오가 자주 발생합니다. 데이터 복제는 동기 복제와 비동기 복제의 두 가지 형태로 나눌 수 있습니다. 동기 복제는 마스터 데이터베이스가 데이터를 쓴 후 바로 슬레이브 데이터베이스에 데이터를 복사해야 하는 것을 의미하고, 비동기 복제는 마스터 데이터베이스가 데이터를 쓴 후 일정 시간 동안 데이터가 복사되기 전에 지연될 수 있다는 것을 의미한다. 이 기사에서는 MySQL에서 데이터의 비동기 복제 및 지연 복제를 구현하는 방법에 중점을 둘 것입니다.
먼저 비동기 복제와 지연 복제를 구현하기 위해서는 MySQL 구성 파일의 binlog 형식을 ROW 모드로 설정해야 합니다. MySQL 구성 파일(일반적으로 my.cnf)을 열고 다음 구성을 추가합니다.
[mysqld] binlog_format=ROW
다음으로 마스터-슬레이브 복제 환경을 생성해야 합니다. 먼저 기본 데이터베이스 MySQL 서비스를 시작하고 복제용 계정을 생성한 후 적절한 권한을 부여합니다.
CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT replication slave ON *.* TO 'replication'@'%'; FLUSH PRIVILEGES;
그런 다음 MySQL 구성 파일을 편집하고 기본 데이터베이스에 다음 구성을 추가합니다.
[mysqld] server-id=1 log-bin=master
그런 다음 기본 데이터베이스에서 MySQL을 다시 시작합니다. 데이터베이스 서비스.
그런 다음 슬레이브 라이브러리에서 MySQL 서비스를 시작하고 복제용 계정을 생성하고 적절한 권한을 부여합니다.
CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT replication slave ON *.* TO 'replication'@'%'; FLUSH PRIVILEGES;
슬레이브 라이브러리에서 MySQL 구성 파일을 편집하고 다음 구성을 추가합니다.
[mysqld] server-id=2 relay-log=slave
슬레이브 라이브러리 다시 시작 MySQL 서비스.
현재 메인 라이브러리의 상태 정보를 얻으려면 메인 라이브러리에서 다음 명령을 실행하십시오.
SHOW MASTER STATUS;
슬레이브 라이브러리에서 복제를 구성하는 데 사용되는 파일 및 위치 값을 기록합니다.
다음으로 슬레이브 라이브러리에서 다음 명령을 실행하여 복제를 구성합니다.
CHANGE MASTER TO MASTER_HOST='主库IP地址', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='主库的File值', MASTER_LOG_POS=主库的Position值;
그런 다음 복제 프로세스를 시작합니다.
START SLAVE;
슬레이브 라이브러리에서 다음 명령을 사용하여 복제 상태를 볼 수 있습니다.
SHOW SLAVE STATUSG;
Next , 지연 복제를 구현하는 방법에 대해 설명합니다. MySQL 5.6.6 이상에서 MySQL은 복제 지연을 제어하기 위한 매개변수(slave_pending_jobs_size)를 제공합니다. 이 매개변수는 데이터베이스에서 복제되기를 기다리는 트랜잭션 수를 제어하는 데 사용됩니다. 이 매개변수의 값을 적절하게 설정하여 지연 복제를 구현할 수 있습니다.
슬레이브 라이브러리에서 다음 명령을 실행하여 복제 지연을 30초로 설정합니다.
SET GLOBAL slave_pending_jobs_size=100000;
마지막으로 복제 및 지연 복제가 성공했는지 확인해 보겠습니다. 메인 라이브러리에 데이터 조각을 삽입한 후 슬레이브 라이브러리에서 복사가 성공했는지 확인합니다.
데이터 조각을 삽입하려면 메인 라이브러리에서 다음 명령을 실행합니다.
USE 数据库名; INSERT INTO 表名 (字段1, 字段2) VALUES ('value1', 'value2');
그런 다음 다음 명령을 실행합니다. 복사 성공 여부를 확인하기 위해 슬레이브 라이브러리에서 :
USE 数据库名; SELECT * FROM 表名;
삽입된 데이터를 라이브러리에서 성공적으로 쿼리했다면 복제와 지연 복제가 모두 성공적으로 구현되었음을 의미합니다.
요약하자면, 이 글에서는 MySQL에서 데이터의 비동기 복제와 지연 복제를 구현하는 방법을 소개합니다. MySQL 구성 파일의 binlog 형식을 ROW 모드로 설정하고 마스터-슬레이브 데이터베이스에서 해당 매개변수 및 권한을 구성하면 비동기 데이터 복제가 가능합니다. 지연된 데이터 복제는 복제 지연 매개변수slave_pending_jobs_size의 값을 설정하여 달성할 수 있습니다. 이러한 기능은 MySQL 데이터베이스를 더 잘 관리하고 사용하는 데 도움이 될 수 있습니다.
위 내용은 MySQL에서 데이터의 비동기 복제 및 지연 복제를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!