AWS DMS에서 MySQLRDS→사전 제작된 MySQL의 지속적인 복제 실행

6452 단어 DMSAWS

하고 싶은 일


AWS DMS를 사용하여 MySQLRDS→미리 만들어진 MySQL의 지속적인 응용 프로그램 열기 테스트
MySQL 버전: 5.7
다음 공식 문서를 참조하는 동시에MysQLRDS의 설정을 하나하나 확인합니다
Amazon이 관리하는 MySQL 호환 데이터베이스의 AWS DMS 소스로 사용

자동 백업은 반드시 유효해야 한다



binlog_포맷이 ROW여야 함


원래 my였는데cnf에 작성된 설정을 통해 RDS에서 매개변수 그룹을 통해 확인

바이너리 로그 유지 기간 변경


기본 설정에서 RDS와 Aurora는 바이너리 로그를 즉시 제거하기 위해 유지 시간을 연장해야 합니다
binlog의 유지 기간을 24h로 설정합니다
変更前
MySQL [(none)]> call mysql.rds_show_configuration;
+------------------------+-------+------------------------------------------------------------------------------------------------------+
| name                   | value | description                                                                                          |
+------------------------+-------+------------------------------------------------------------------------------------------------------+
| binlog retention hours | NULL  | binlog retention hours specifies the duration in hours before binary logs are automatically deleted. |
+------------------------+-------+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

変更
call mysql.rds_set_configuration('binlog retention hours', 24);

変更後確認
MySQL [(none)]> call mysql.rds_show_configuration;
+------------------------+-------+------------------------------------------------------------------------------------------------------+
| name                   | value | description                                                                                          |
+------------------------+-------+------------------------------------------------------------------------------------------------------+
| binlog retention hours | 24    | binlog retention hours specifies the duration in hours before binary logs are automatically deleted. |
+------------------------+-------+------------------------------------------------------------------------------------------------------+

binlog_Checksum을 NONE으로 만들어야 해요.



매개변수 그룹 변경 내용


binlog_format 및 binlogcheck ksum이 지정된 값이 아니므로 RDS 매개변수 그룹 변경

dynamic으로 변경되어 RDS 재부팅이 수행되지 않은 상태에서 수행
수정 확인

DMS 실행


전송 소스에 테스트용 DB 구축
MySQL [(none)]> create database dms_test;
MySQL [(none)]> use dms_test;
Database changed
MySQL [dms_test]> create table testtable ( id INT , name VARCHAR(5) );
Query OK, 0 rows affected (0.05 sec)

MySQL [dms_test]> show tables;
+--------------------+
| Tables_in_dms_test |
+--------------------+
| testtable          |
+--------------------+
1 row in set (0.00 sec)

MySQL [dms_test]> insert into testtable values ( 1 , "taro");
Query OK, 1 row affected (0.01 sec)

MySQL [dms_test]>
MySQL [dms_test]> select * from testtable;
+------+------+
| id   | name |
+------+------+
|    1 | taro |
+------+------+

작업 생성 - 실행


다음 설정을 통해 작업 만들기
작업 이름: dms-Cdc-test
변환 유형: "기존 데이터 전송, 지속적인 변경 복사"
Logging의 유효성: 검사(CloudWatch 로그에서 작업 실행 로그를 확인하기 위함)
표 매핑:dms첫 번째 모드 선택
임무를 수행하다

상태는 준비 완료입니다.
이 시점에서 Training Professional DB로 전송되지 않음
시작/재시작 버튼을 클릭하면 작업이 시작됩니다.

이동 목적지 DB에 대한 데이터 불러오기가 완료되면 클라우드워치 로그에 다음과 같이 출력합니다. 이동 완료
Load finished for table 'dms_test','testtable'...
작업 상태는 로드 완료, 복제 진행 중입니다.

대상 DB의 데이터를 확인합니다.dms_테스트 데이터베이스 이전 완료
mysql> show databases;          mysql> select * from dms_test.testtable;        
+--------------------+          +------+------+     
| Database           |          | id   | name |     
+--------------------+          +------+------+     
| information_schema |          |    1 | taro |     
| awsdms_control     |          +------+------+     
| dms_test           |                  
| mysql              |                  
| performance_schema |                  
| sys                |                  
+--------------------+                  
8 rows in set (0.00 sec)
소스 DB로 이동
MySQL [dms_test]> insert into testtable values ( 2,"ichi");                 
Query OK, 1 row affected, 1 warning (0.01 sec)                  

MySQL [dms_test]> select * from testtable;                  
+------+-------+                    
| id   | name  |                    
+------+-------+                    
|    1 | taro  |                    
|    2 | ichi  |                    
+------+-------+                    
2 rows in set (0.00 sec)
이동 대상 DB의 반영 확인
mysql> select * from testtable;     
+------+-------+        
| id   | name  |        
+------+-------+        
|    1 | taro  |        
|    2 | ichi  |        
+------+-------+        
2 rows in set (0.00 sec)        

참고 자료


바이너리 로그 형식 정보

좋은 웹페이지 즐겨찾기