DMS란?
- Data Migration Service
- 관계형 데이터베이스, 데이터 웨어하우스, NoSQL 데이터베이스 및 기타 유형의 데이터 저장소를 쉽게 마이그레이션할 수 있는 클라우드 서비스입니다.
DMS 구성도
소스를 타겟으로 바로 마이그레이션 하는 것이 아니라 복제 인스턴스를 통해 마이그레이션을 합니다
Linux2 인스턴스
- Mariadb을 install하고 스키마와 테이블을 생성합니다
- 보안그룹 포트 3306을 열어줍니다(Source EndPoint에 설정한 포트)
1
2
3
4
5
6
7
8
|
$ yum install mariadb-server
$ service mariadb start
$ systemctl enable mariadb.service
$ mysqladmin -u root -p password 'abc123'
Enter password: 그냥 엔터
$ mysql -u root -p
Enter password: 설정한 비밀번호
|
cs |
※ 참고, mysql5.7 설치방법
1
2
3
4
5
6
7
8
|
$ yum update
$ yum install wget
$ yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
$ yum -y install mysql-community-server
$ systemctl start mysqld
$ systemctl enable mysqld
$ mysql_secure_installation # 기본적인 보안설정(루트 비번만 바꾸고 나머진 y)
|
cs |
"지속적인 변경 사항 복제"를 하기 위해선 이진 로그 활성화와 binlog_format을 ROW로 바꿔야 합니다.
$ vi /etc/my.cnf
log-bin=VALUE를 넣으면 이진 로그가 활성화됩니다 VALUE에는 파일 이름을 임의로 적으면 됩니다
binlog_format도 row로 설정해줍니다
Binary Log(binlog)
binlog는 서버내에서 발생되는 모든 변경내역이 기록되는 파일입니다.
PIT(시점 복구)와 리플리케이션에 필수 요소이며 이 2가지 기능을 쓰지 않는다면 굳이 활성화할 필요는 없습니다.
빈로그를 쓰는 것 자체가 미세하지만 IO 부담을 가중시키기 때문입니다.
binlog_format 종류
- STATEMENT : 버전 5.7.6까지 디폴트 값입니다.(그 이후 버전부터는 ROW) 쿼리문으로 기록되기 때문에 용량을 적게 차지하고 버전 특성을 타지 않습니다. 하지만 복구 시 일관된 데이터에 대한 보장이 적습니다.
- ROW : 쿼리문이 아닌 변경된 데이터 기반으로 기록됩니다. 용량이 커지긴 하지만 복구시 일관성을 보장받을 수 있으며 빠른 복구가 가능합니다.
- MIXED : 위의 두가지를 혼합한 방식입니다.
1. 유저 생성하고 패스워드 부여 합니다
1
2
3
|
> create user 'user1'@'%' identified by 'abc123'; # 유저 생성하고 패스워드 부여
> grant all privileges on *.* to 'user1'@'%'; # 권한부여, %를 하면 외부에서 접속 가능
> FLUSH privileges;
|
cs |
2. plugin이 casing_sha2_password라면 mysql_native_password으로 변환해야 합니다
1
2
3
|
> select host, user, plugin from mysql.user; # select 필드이름 from 테이블이름
> alter user 'user1'@'%' identified with mysql_native_password by 'abc123';
> FLUSH privileges;
|
cs |
3. 이진로그 확인
> show global variables like 'log_bin'; show global variables like 'binlog_format';
위와 같이 나오면 mysql의 source 데이터베이스 준비는 끝났습니다
참고
https://systemv.tistory.com/52
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html
https://aws.amazon.com/ko/premiumsupport/knowledge-center/dms-binary-logging-aurora-mysql/
'Cloud > AWS' 카테고리의 다른 글
[AWS] ALB와 NLB 사용 결정 (0) | 2021.08.11 |
---|---|
[AWS] SSM Parameter Store Version 관련 삽질 (0) | 2021.08.05 |
[AWS] 캐싱 (0) | 2021.05.18 |
[AWS] 고가용성 환경 생성 (0) | 2021.05.18 |
aws cli, ansible 사용하여 자동화 - nfs 서버 만들기 (0) | 2021.05.06 |