AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Amazon RDS for MySQL 활성 DB 인스턴스의 바이너리 로그를 사용하여 온프레미스 대기 인스턴스로 복제하려면 어떻게 해야 합니까?
Amazon Relational Database Service(Amazon RDS) for MySQL DB 인스턴스를 온프레미스 대기 서버로 복제하려고 합니다.
간략한 설명
Amazon RDS for MySQL DB 인스턴스에서 온프레미스 서버로 데이터를 마이그레이션하려면 AWS에서 읽기 전용 복제본을 만드십시오. 그런 다음, 복제 대상을 Amazon RDS for MySQL 읽기 전용 복제본에서 온프레미스 서버로 전환합니다.
글로벌 트랜잭션 식별자(GTID) 기반 복제를 사용하는 경우 외부 소스 인스턴스로 바이너리 로그 파일 위치 복제 구성을 참조하십시오.
해결 방법
활성 DB 인스턴스의 읽기 전용 복제본 만들기
다음 단계를 완료하십시오.
-
복제하려는 활성 DB 인스턴스에 대해 자동 백업을 활성화했는지 확인합니다.
참고: 최소 백업 보존 기간은 1일입니다. 데이터를 백업하면 추가 비용이 발생합니다. 자세한 내용은 Amazon RDS 요금을 참조하십시오. -
동일한 구성으로 활성 DB 인스턴스의 읽기 전용 복제본을 만듭니다.
-
읽기 전용 복제본 DB 인스턴스에 로그인합니다.
-
다음 명령을 실행하여 읽기 전용 복제본 DB 인스턴스가 활성 DB 인스턴스와 일치하는지 확인합니다.
MySQL 버전 8.0.23 이상의 경우:mysql> show replica status \GMySQL 버전 8.0.23 이전의 경우:
mysql> show slave status \G참고: 복제본 인스턴스가 DB 인스턴스보다 지연되지 않는 경우 Seconds_Behind_Master 파라미터는 0으로 표시됩니다.
-
다음 명령을 실행하여 읽기 전용 복제본 DB 인스턴스에서 복제를 중지합니다.
mysql> call mysql.rds_stop_replication; -
-log_file 및 -log_position 파라미터를 기록하려면 읽기 전용 복제본 DB 인스턴스에서 다음 명령을 실행합니다.
MySQL 버전 8.0.23 이상의 경우:mysql> show replica status \GMySQL 버전 8.0.23 이전의 경우:
mysql> show slave status \G참고: -log_file은 relay_source_log_file의 값이고, -log_position은 exec_source_log_pos의 값입니다.
읽기 전용 복제본 DB 인스턴스의 덤프 파일 만들기
다음 단계를 완료하십시오.
-
mysqldump 클라이언트 또는 유사한 유틸리티에서 다음 명령을 실행하여 읽기 전용 복제본 DB 인스턴스의 백업을 만듭니다.
mysqldump -h hostname -u username -p dbname > backup_file_name.sql -
온프레미스 서버에 로그인한 다음, 덤프 파일을 서버로 전송합니다.
덤프 파일을 새 DB 인스턴스로 복원
다음 단계를 완료하십시오.
-
온프레미스 서버에 새 외부 DB 인스턴스를 만듭니다.
-
다음 명령을 실행하여 덤프 파일을 새 외부 DB 인스턴스로 복원합니다.
mysql -h hostname -u username -p dbname < backup_file_name.sql -
활성 DB 인스턴스에 로그인합니다.
-
다음 명령을 실행하여 복제 사용자를 구성하고 사용자에게 필요한 권한을 부여합니다.
mysql> create user repl_user@'%' identified by 'repl_user'; mysql> grant replication slave, replication client on *.* to repl_user@'%'; mysql> show grants for repl_user@'%';참고: repl_user를 복제 사용자 이름으로 바꾸십시오.
-
새 외부 DB 인스턴스에 로그인한 다음, 온프레미스 서버를 중지합니다.
-
복제하려는 고유 서버 ID 및 데이터베이스 이름을 가리키도록 my.cnf 파일 파라미터를 수정합니다. 예를 들어 server_id=2 및 replicate-do-db=test입니다.
-
파일을 저장합니다.
-
온프레미스 서버를 다시 시작합니다.
새 외부 DB 인스턴스가 활성 DB 인스턴스에 연결할 수 있는지 확인
Amazon Elastic Compute Cloud(Amazon EC2)를 외부 MySQL 인스턴스로 사용하는 경우 보안 그룹의 연결을 허용하도록 인스턴스를 업데이트하십시오. 또는 활성 DB 인스턴스의 보안 그룹에 있는 IP 주소에서 연결을 허용합니다. 외부 MySQL 서버를 사용하는 경우 telnet을 실행하여 연결을 테스트합니다. 자세한 내용은 Amazon RDS DB 인스턴스에 연결할 수 없는 이유는 무엇입니까?를 참조하십시오.
다음 단계를 완료하십시오.
- 복제본 서버가 원본에 연결하는 데 사용하는 파라미터를 변경하려면 새 외부 DB 인스턴스에서 다음 명령을 실행합니다.
MySQL 버전 8.0.23 이상의 경우:
MySQL 버전 8.0.23 이전의 경우:mysql> change replication source to source_host='rds-endpoint', source_user='repl_user', source_password='password', source_log_file='mysql-bin.000001', source_log_pos=107;
참고: rds-endpoint를 활성 DB 인스턴스의 엔드포인트로 바꾸십시오. 덤프 파일을 새 데이터베이스에 복원할 때 만든 사용자 이름과 암호를 사용합니다. relay_source_file 및 exec_source_log_pos 값을 읽기 전용 복제본의 -log_file 및 -log_position 값으로 바꾸십시오.mysql> change master to master_host='rds-endpoint', master_user='repl_user', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107; - 온프레미스 서버가 활성 DB 인스턴스에 연결할 수 있는지 확인합니다.
복제 시작
다음 단계를 완료하십시오.
-
온프레미스 서버에 로그인합니다.
-
다음 명령을 실행하여 복제를 시작합니다.
MySQL 버전 8.0.23 이상의 경우:mysql> start replica;MySQL 버전 8.0.23 이전의 경우:
mysql> start slave; -
다음 명령을 실행하여 활성 DB 인스턴스와 온프레미스 서버 간에 복제가 동기화되는지 확인합니다.
MySQL 버전 8.0.23 이상의 경우:mysql> show replica status\GMySQL 버전 8.0.23 이전의 경우:
mysql> show slave status\G -
Seconds_Behind_Master 파라미터가 0이면 읽기 전용 복제본 DB 인스턴스를 삭제합니다.
관련 정보
AWS DMS를 사용하여 Amazon RDS 또는 Amazon Aurora DB 인스턴스로 마이그레이션하려면 어떻게 해야 합니까?
복제를 사용하여 MySQL DB 인스턴스에서 데이터 내보내기
Aurora와 MySQL 간 또는 Aurora와 다른 Aurora DB 클러스터 간 복제(바이너리 로그 복제)
관련 콘텐츠
- 질문됨 2년 전
