MySQL에서 이종 및 동종 데이터 복제를 구현하는 방법은 무엇입니까?
소개:
현대 소프트웨어 개발에서 데이터베이스 복제는 데이터 백업, 데이터 읽기-쓰기 분리 및 고가용성 요구 사항을 실현할 수 있는 매우 중요한 기능입니다. 가장 널리 사용되는 관계형 데이터베이스 중 하나인 MySQL은 다양한 시나리오의 요구 사항을 충족하는 다양한 복제 방법을 제공합니다. 이 기사에서는 MySQL에서 데이터의 이종 및 동형 복제를 구현하는 방법을 소개하고 해당 코드 예제를 첨부합니다.
1. MySQL 데이터의 이기종 복제
이종 복제란 MySQL 데이터베이스를 Oracle 또는 SQL Server에 복사하는 것과 같이 MySQL 데이터베이스를 다른 유형의 데이터베이스에 복사하는 것을 의미합니다. 이기종 복제를 구현하려면 MySQL에서 제공하는 Dumper 및 Loader 도구를 사용해야 합니다.
1.1 Dumper 및 Loader 설치
다음 명령을 실행하여 MySQL 유틸리티를 설치합니다.
$ sudo apt-get install mysql-utilities
1.2 Dumper를 사용하여 MySQL 데이터 내보내기
$ mysqldump --databases <database_name> --user=<username> --password=<password> > dumpfile.sql
여기서 6b7267f525327f2a23dcb01791a146aa은 내보낼 데이터베이스 이름이고 d6025a37ea8687b5422f951f7288bdc5 ;password>는 데이터베이스에 연결하기 위한 사용자 이름과 비밀번호입니다.
1.3 로더를 사용하여 대상 데이터베이스로 데이터 가져오기
$ mysql <database_name> -u <username> -p <password> < dumpfile.sql
여기서 6b7267f525327f2a23dcb01791a146aa은 대상 데이터베이스의 이름이고 d6025a37ea8687b5422f951f7288bdc5은 대상 데이터베이스에 연결하기 위한 사용자 이름과 비밀번호입니다. dumpfile.sql은 내보낸 데이터 파일입니다.
2. MySQL 데이터의 동형 복제
동형 복제는 MySQL 데이터베이스를 동일한 MySQL 데이터베이스로 복제하거나 MySQL 마스터-슬레이브 복제를 의미합니다. MySQL 마스터-슬레이브 복제는 데이터 백업 및 읽기-쓰기 분리를 실현할 수 있는 가장 일반적인 데이터베이스 복제 방법입니다. 다음은 MySQL 마스터-슬레이브 복제를 예로 들어 설명합니다.
2.1 메인 데이터베이스 구성
메인 데이터베이스의 my.cnf 구성 파일에서 다음을 구성합니다.
[mysqld] server-id=1 log-bin=mysql-bin
메인 데이터베이스를 식별하려면 server-id를 1로 설정하고, log-bin은 바이너리 로그를 활성화하는 데 사용됩니다.
2.2 복제 사용자 생성
MySQL에 로그인하고 다음 SQL 문을 실행하여 복제 사용자를 생성합니다.
CREATE USER 'replication'@'slave_ip' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'slave_ip'; FLUSH PRIVILEGES;
여기서,slave_ip는 슬레이브 데이터베이스의 IP 주소이고,password는 복제 사용자의 비밀번호입니다.
2.3 기본 데이터베이스 데이터 내보내기
데이터를 내보내려면 기본 데이터베이스에서 다음 명령을 실행하세요.
$ mysqldump --all-databases --single-transaction --master-data=1 > dumpfile.sql
그 중 --all-databases는 모든 데이터베이스를 내보내는 것을 의미하고, --single-transaction은 내보낸 데이터베이스의 일관성을 유지하는 데 사용됩니다. data, --master -data=1은 내보낸 데이터에 복사 정보를 추가하는 데 사용됩니다.
2.4 슬레이브 데이터베이스 구성
슬레이브 데이터베이스의 my.cnf 구성 파일에서 다음을 구성합니다.
[mysqld] server-id=2
슬레이브 데이터베이스를 식별하려면 server-id를 2로 설정합니다.
2.5 마스터 데이터베이스 데이터를 슬레이브 데이터베이스로 가져오기
데이터를 가져오려면 슬레이브 데이터베이스에서 다음 명령을 실행하세요.
$ mysql -u <username> -p <password> < dumpfile.sql
그 중 d6025a37ea8687b5422f951f7288bdc5과 cb1ebc435675187bdcfb539b370c2e37는 슬레이브 데이터베이스에 연결하기 위한 사용자 이름과 비밀번호입니다. dumpfile.sql은 내보낸 데이터 파일입니다.
2.6 마스터-슬레이브 복제 시작
마스터-슬레이브 복제를 시작하려면 슬레이브 데이터베이스에서 다음 명령을 실행하세요.
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=XXX; START SLAVE;
이 중 master_ip는 마스터 데이터베이스의 IP 주소이고, 비밀번호는 복제 사용자의 비밀번호이며, mysql-bin.000001은 마스터 데이터베이스 로그 파일의 바이너리이고, XXX는 SHOW MASTER STATUS를 통해 얻은 마스터 데이터베이스의 로그 위치입니다.
결론:
MySQL에서 제공하는 Dumper 및 Loader 도구를 통해 MySQL 데이터베이스를 다른 유형의 데이터베이스에 대한 이기종 복제를 실현할 수 있으며 MySQL 마스터-슬레이브 복제를 통해 동일한 MySQL 데이터베이스에 대한 MySQL 데이터베이스의 동종 복제를 실현할 수 있습니다. . 다양한 요구 사항에 따라 적절한 복제 방법을 선택하는 것이 매우 중요합니다. 이 기사의 소개와 예제가 독자들이 MySQL의 데이터 복제 기능을 더 잘 이해하고 적용하는 데 도움이 되기를 바랍니다.
위 내용은 MySQL에서 이기종 및 동종 데이터 복제를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!