SlideShare a Scribd company logo
Azure Database for MySQL
목차
• Azure Database for MySQL Deploy
• MySQL to Azure Database for MySQL Migration
Azure Database for MySQL Deploy
Azure Database for MySQL Deploy
1. 사전 준비
1) https://portal.azure.com에 접속 및 로그인
2) 리소스 그룹 생성 (1/3)
- 왼쪽 네비게이션의 리소스 그룹 클릭 후 리소스 그룹 추가 버튼 클릭
1. 사전 준비
2) 리소스 그룹 생성 (2/3)
- 리소스 그룹을 생성하기 위한 기본정보 입력 후 리뷰+만들기 버튼 클릭
Azure Database for MySQL Deploy
1. 사전 준비
2) 리소스 그룹 생성 (3/3)
- 리소스 그룹 내용 확인 및 만들기 버튼 클릭
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (1/4)
- 리소스 만들기 -> 데이터베이스 클릭-> Azure Database for MySQL 클릭 -> 만들기 버튼 클릭
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (1/4)
- 리소스 만들기 -> 데이터베이스 클릭-> Azure Database for MySQL 클릭 -> 만들기 버튼 클릭
Azure Database for MySQL Deploy
단일 서버 와 유연한 서버가 존재하며 현재 유
연한 서버의 경우 MySQL 5.7버전만 이용 가능
하며 preview 버전
- 최대 10개의 읽기 복제본을 사용하여 읽기
작업 확장(단일 서버의 경우 최대 5개)
- 서버를 중지/시작하여 비용 최적화(최대 7
일간 중지가능)
- 단일서버 대비 많은 서버 설정 변수
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (2/4)
- MySQL 서버 정보 입력 후 만들기 버튼 클릭
Parameter Name Description etc
서버 이름
Azure Database for MySQL 서버를 식별하
는 고유한 이름
소문자, 숫자 및 - 만 사용가능
구독 서버에 사용할 Azure 구독
리소스 그룹 종속될 리소스 그룹
소스 선택 신규 또는 기존 백업을 통한 서버구성
비어 있음 : 신규 서버
백업 : 기존 백업을 통한 서버구성
서버 관리자 로그인 이름 서버에 연결시 사용 할 로그인 계정
azure_superuser, admin, administrator,
root, guest 또는 public 사용 불가
암호 서버 관리자 계정의 암호
8-128자 / 다음 범주 중 세 개의 문자를 포
함해야 한다. 영문 대문자, 영문 소문자, 숫
자(0-9) 및 영숫자가 아닌 문자(!, $, #, % 등)
암호 확인 서버 관리자 계정의 암호 확인
위치 서버가 설치될 위치
버전 MySQL 버전 선택 5.6 , 5.7 , 8.0 지원하며 하위 버전 선택불가
가격 책정 계층 서버 스펙에 따른 책정 계층 선택
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (2/4)
- 3가지 유형의 가격책정 계층
Azure Database for MySQL Deploy
기본 범용 메모리 최적화
계산 세대 5세대 5세대 5세대
vCore 수 1, 2 2, 4, 8, 16, 32, 64 2, 4, 8, 16, 32
vCore당 메모리 2GB 5GB 10 GB
저장소 크기 5GB-1TB 5GB-16TB 5GB-16TB
데이터베이스 백업 보존
기간
7-35일 7-35일 7-35일
2. Azure Database for MySQL 가격 책정 계층
1) 가격 책정 계층(1/2)
- Azure Database for MySQL 서버는 기본, 범용 및 메모리 최적화의 세 가지 가격 책정 계층 중 하나에서
만들 수 있습니다.
Azure Database for MySQL Deploy
가격 책정 계층 대상 워크로드
기본
간단한 계산 및 I/O 성능이 필요한 워크로드. 예를 들어 개발 또는 시험, 또는 자주
사용하지 않는 소규모 애플리케이션에 사용되는 서버가 이에 해당
범용
확장 가능한 I/O 처리량을 갖춘 부하 분산된 컴퓨팅 및 메모리가 필요한 대부분의
비즈니스 워크로드. 예를 들어 웹 및 모바일 앱을 호스트하는 서버와
기타 엔터프라이즈 애플리케이션 해당
메모리 최적화
빠른 트랜잭션 처리와 높은 동시성을 위해 메모리 내 성능이 필요한 고성능 데이터
베이스 워크로드. 예를 들어 실시간 데이터를 처리하는 서버 및 고성능 트랜잭션
또는 분석 앱
2. Azure Database for MySQL 가격 책정 계층
1) 가격 책정 계층(2/2)
- 서버를 만든 후 vCore 수, 하드웨어 생성 및 가격 책정 계층(기본 제외)은 몇 초 이내로 늘리거나 줄일 수
있으며 또한 애플리케이션 중단 시간 없이 독립적으로 스토리지 용량을 늘리거나 백업 보존 기간을 늘리거나
줄일 수 있습니다. 서버가 만들어진 후 백업 저장소 유형은 변경할 수 없습니다.
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (3/4)
- 만들기 이후로 배포가 진행되며 수분 이내에 완료
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (4/4)
- 모든 리소스 클릭 -> 리소스 그룹 선택 ->서버 이름 선택
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
1) MySQL Server 생성 (4/4)
- 서버 기본정보 확인 및 변수 변경, 보안, 경고 구성
Azure Database for MySQL Deploy
2. Azure Database for MySQL 서버 만들기
2) MySQL Server 방화벽 생성
- Client → MySQL 서버 접근을 위해 방화벽 설정 필요
- 생성한 MySQL 서버 리소스 선택-> 연결 보안 클릭 -> 규칙 이름, Open할 Ip 주소 입력 -> 저장
Azure Database for MySQL Deploy
3. Azure Database for MySQL 서버 접속
1) MySQL Client 로 접속 (1/2)
- MySQL Client 사용을 위해서는 MySQL Client 프로그램이 설치되어 있어야 한다.
- Download URL
https://dev.mysql.com/downloads/
- 접속 명령어
Azure Database for MySQL Deploy
Parameter
Name
Description 대상
--host(-h) 서버 이름 입력 azure-test-mysql02.mysql.database.azure.com
--user(-u)
서버 관리자 로그인
이름 입력
myadmin@azure-test-mysql02
--password(-p)
서버 관리자 로그인
암호 입력
3. Azure Database for MySQL 서버 접속
1) MySQL Client 로 접속 (2/2)
- azure-test-mysql02 서비스 개요 내용 중 서버이름 , 서버 관리자 로그인 이름 확인 후 접속
Azure Database for MySQL Deploy
3. Azure Database for MySQL 서버 접속
2) MySQL Workbench GUI 접속 (1/3)
- Client 컴퓨터에서 MySQL Workbench APP을 실행
- Download URL
https://dev.mysql.com/downloads/workbench/
Azure Database for MySQL Deploy
3. Azure Database for MySQL 서버 접속
2) MySQL Workbench GUI 접속 (2/3)
- 클릭 -> Connection 정보 입력 -> Test Connection 클릭 -> Successfully made the MySQL
Connection 팝업 출력시 연결 정상 -> OK 클릭
Azure Database for MySQL Deploy
Parameter
Name
Description 대상
Connection Name 연결 이름 사용자 임의로 정의
Connection
Method
연결 방법 TCP/IP
Hostname 서버 이름 입력 azure-test-mysql02.mysql.database.azure.com
Port 포트 3306
Username
서버 관리자 로그인
이름 입력
myadmin@azure-test-mysql02
password
서버 관리자 로그인
암호 입력
Default Schema
접속시 기본 select될
Database
3. Azure Database for MySQL 서버 접속
2) MySQL Workbench GUI 접속 (3/3)
- 생성된 Connection 상자 클릭
Azure Database for MySQL Deploy
MySQL to Azure Database for MySQL Migration
MySQL to Azure Database for MySQL Migration
1. Migration 방법론
덤프 내보내기 가져오기 Azure Database Migration Service
- On-premise와 Azure의 DB를 동기화
- 가동 중지 시간의 최소화
- As-is 와 To-be의 상위 버전은 동일해야함
- MySQL 8.0으로의 마이그레이션은 지원하지 않음
1. mysqldump(mysqlpump)를 이용한 on-
premise db백업
2. mysql를 이용한 Azure로 복원
1. Azure DMS 인스턴스 생성
2. Azure DMS 프로젝트 생성
3. 마이그레이션 실행
4. 마이그레이션 중단
- DB 정합성을 위해 서비스 중지 필요
(복제 구성으로 가동 중지 시간 최소화 가능)
- 대용량 Database의 경우 성능상 지양
On-premise
MySQL
Azure for
MySQL
특징 및 주의사항
특징 및 주의사항
- Azure Database for MySQL 은 InnoDB, Memory 엔진 지원
- Azure Database for MySQL 지원버전(5.6, 5.7, 8.0)
MySQL to Azure Database for MySQL Migration
1. Migration 방법론
Load Data Infile
1. Select into outfile ~ 명령을 통한 data export(이기종
DB의 경우 각 Database의 csv export명령어 사용)
2. Load Data Local Infile ~ 명령을 통한 data import
- MySQL 이외의 이기종 Database 마이그레이션 가능
- 오프라인 마이그레이션만 가능
- Import 성능은 가장 우수
- 테이블 단위로만 마이그레이션 가능
On-premise
Database
Azure for
MySQL
특징 및 주의사항
- Azure Database for MySQL 은 InnoDB, Memory 엔진 지원
- Azure Database for MySQL 지원버전(5.6, 5.7, 8.0)
MySQL to Azure Database for MySQL Migration
2-1. 덤프 내보내기 가져오기 방법 사용시 유의사항
- Azure Database for MySQL 은 InnoDB 엔진만 사용
- 데이터베이스를 덤프할 때 mysqldump에서 --skip-triggers or --triggers=0 옵션 사용
- single-transaction 옵션을 사용
- 여러 VALUE 목록을 포함하는 extended-insert 여러 행 구문을 사용 (Defaults to on)
- 데이터베이스를 덤프할 때 mysqldump에서 order-by-primary 옵션을 사용
- 데이터베이스를 덤프할 때 mysqldump에서 disable-keys 옵션을 사용 (Defaults to on)
- 데이터 사이즈가 큰 경우 Azure blob/저장소에 백업 파일을 복사하고, 이를 통하여 복원을 수행한다.
- 덤프 내보내기 수행시 병렬 수행을 원하는 경우 mysqlpump 툴을 사용
- 소스DB에서 external tablespace 사용시 덤프 후 덤프파일 수정필요
- 소스DB에서 event, trigger, stored procedure, stored function, view object 사용시 덤프 후 덤프파일 수정필요
- 소스와 타겟의 MySQL 버전이 8.0인 경우 기본 패스워드 인증방식 caching_sha2_password 변경
MySQL to Azure Database for MySQL Migration
2-2. 빠른 데이터 로드를 위한 유의사항
- max_allowed_packet – 긴 행으로 인한 오버플로 문제를 방지하기 위해 1073741824(예: 1GB)로 설정한다.
- Slow_query_log – 저속 쿼리 로그를 해제하려면 OFF로 설정한다. 이렇게 하면 데이터 로드 중 느린 쿼리 로깅으로 인한 오버헤드가 제거
된다.
- Query_store_capture_mode – 쿼리 저장소 해제 하려면 없음으로 설정 한다. 이렇게 하면 쿼리 저장소의 샘플링 작업으로 인한 오버헤드
가 제거된다.
- Innodb_buffer_pool_size – 마이그레이션 중에 포털의 가격 책정 계층에서 서버를 32개의 vCore 메모리 최적화 SKU로 확장하여
innodb_buffer_pool_size를 늘립니다. Innodb_buffer_pool_size는 Azure Database for MySQL 서버에 대한 컴퓨팅을 확장해야만 늘릴 수
있다.
- innodb_io_capacity & innodb_io_capacity_max-Azure Portal의 서버 매개 변수에서 9000로 변경 하 여 마이그레이션 속도를 최적화 하기
위해 IO 사용률을 향상 시킨다.
- innodb_write_io_threads & innodb_read_io_threads-마이그레이션의 속도를 개선 하기 위해 Azure Portal의 서버 매개 변수에서 4로 변경
한다.
- 스토리지 계층 스케일 업 – 스토리지 계층이 증가함에 따라 Azure Database for MySQL 서버의 IOP가 점진적으로 증가합니다. 더 빠른 로
드를 위해 스토리지 계층을 늘려 프로비저닝된 IOP를 늘릴 수 있다. 스토리지는 축소할 수 없고 확장만 할 수 있다.
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
Azure IaaS
MySQL
Azure for
MySQL
덤프 내보내기 가져오기
① mysqldump
② replication
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
1) Source MySQL 대상 정보 확인
2) Target MySQL 대상 정보 확인
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
3) Azure for MySQL 방화벽 설정
- MySQL 서버 리소스 선택-> 연결 보안 클릭 -> 규칙 이름, Open할 Ip 주소 입력 -> 저장
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
4) Source DB 백업
- Migration 대상 Database 백업
5) Target 에 Database 생성
- 복원 대상 Database 생성
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
6) Target 복원(1/2)
- Azure for MySQL에 복원
- 복원 중 Azure for MySQL 프로세스
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
6) Target 복원(2/2)
- Azure for MySQL에 복원 확인
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
7) Source DB binary log 확인
- mysqldump 파일내의 백업 시점의 binary log 파일명과 포지션 번호를 확인
8) Source MySQL - Target MySQL replication 연결
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
9) Target DB Replication 정상 확인
MySQL to Azure Database for MySQL Migration
2-3. Migration (mysqldump)
10) 실시간 데이터 동기화 확인
Thank you

More Related Content

What's hot (20)

PDF
MySQL operator for_kubernetes
rockplace
 
PPTX
Azure databases for PostgreSQL, MySQL and MariaDB
rockplace
 
PDF
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
NAVER D2
 
PDF
20130716 AWS Meister re:Generate - Amazon Redshift (Korean)
Amazon Web Services Korea
 
PDF
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
Open Source Consulting
 
PDF
Openshift 활용을 위한 Application의 준비, Cloud Native
rockplace
 
PDF
[오픈소스컨설팅] 2019년 클라우드 생존전략
Ji-Woong Choi
 
PDF
Kubernetes & Istio in Multi-Cloud
Sangwon Seo
 
PPTX
Scalable system design patterns
Steve Min
 
PDF
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
Ji-Woong Choi
 
PPTX
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
Alex Hahn
 
PDF
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
PDF
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
Ji-Woong Choi
 
PDF
AWS 환경에서 MySQL Infra 설계하기-2부.본론
I Goo Lee
 
PDF
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
Amazon Web Services Korea
 
PDF
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
PDF
Cloud for Kubernetes : Session1
WhaTap Labs
 
PDF
NetApp AI Control Plane
SeungYong Baek
 
PDF
SQL Server 2019 on RHEL Overview & Case Study
rockplace
 
PDF
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
Amazon Web Services Korea
 
MySQL operator for_kubernetes
rockplace
 
Azure databases for PostgreSQL, MySQL and MariaDB
rockplace
 
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
NAVER D2
 
20130716 AWS Meister re:Generate - Amazon Redshift (Korean)
Amazon Web Services Korea
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
Open Source Consulting
 
Openshift 활용을 위한 Application의 준비, Cloud Native
rockplace
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
Ji-Woong Choi
 
Kubernetes & Istio in Multi-Cloud
Sangwon Seo
 
Scalable system design patterns
Steve Min
 
클라우드 컴퓨팅 기반 기술과 오픈스택(Kvm) 기반 Provisioning
Ji-Woong Choi
 
[SW 아키텍처 컨퍼런스] 클라우드 아키텍처 개론
Alex Hahn
 
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
[오픈소스컨설팅] AWS re:Invent 2018 기계학습(ML)부분 후기
Ji-Woong Choi
 
AWS 환경에서 MySQL Infra 설계하기-2부.본론
I Goo Lee
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
Amazon Web Services Korea
 
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
Cloud for Kubernetes : Session1
WhaTap Labs
 
NetApp AI Control Plane
SeungYong Baek
 
SQL Server 2019 on RHEL Overview & Case Study
rockplace
 
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
Amazon Web Services Korea
 

Similar to DB Migration to Azure Database for MySQL (20)

PDF
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
Ji-Woong Choi
 
PDF
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
Amazon Web Services Korea
 
PDF
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
PDF
SQL Azure 실무 도입하기
정현 남
 
PDF
DB Azure 서비스 클라우드 플랫폼 및 인프라
은진 양
 
PDF
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
PDF
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
PPTX
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
Amazon Web Services Korea
 
PDF
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
Amazon Web Services Korea
 
PDF
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
PPTX
Azure를 이용한 Join 없는 글로벌 분산 시스템 설계하기
Gyuwon Yi
 
PDF
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
 
PDF
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Web Services Korea
 
PPTX
1711 azure-live
세준 김
 
PDF
[AWS Migration Workshop] 데이터베이스를 AWS로 손쉽게 마이그레이션 하기
Amazon Web Services Korea
 
PDF
All about Data Center Migration Session 2. EOS에 대처하는 완벽한 해답, Azure
BESPIN GLOBAL
 
PDF
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
PDF
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
Amazon Web Services Korea
 
PDF
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
PPTX
AWS RDS, DYNAMO
Han Sung Kim
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
Ji-Woong Choi
 
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
Amazon Web Services Korea
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
SQL Azure 실무 도입하기
정현 남
 
DB Azure 서비스 클라우드 플랫폼 및 인프라
은진 양
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
Amazon Web Services Korea
 
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
Amazon Web Services Korea
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
Azure를 이용한 Join 없는 글로벌 분산 시스템 설계하기
Gyuwon Yi
 
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Web Services Korea
 
1711 azure-live
세준 김
 
[AWS Migration Workshop] 데이터베이스를 AWS로 손쉽게 마이그레이션 하기
Amazon Web Services Korea
 
All about Data Center Migration Session 2. EOS에 대처하는 완벽한 해답, Azure
BESPIN GLOBAL
 
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
Amazon Web Services Korea
 
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS RDS, DYNAMO
Han Sung Kim
 
Ad

More from rockplace (18)

PDF
MySQL InnoDB Cluster 소개
rockplace
 
PDF
락플레이스 OpenShift Q&A 토크쇼 발표자료
rockplace
 
PDF
JBoss EAP on Azure Workshop
rockplace
 
PDF
JBoss EAP on Azure
rockplace
 
PDF
[락플레이스] RHEL8.4 웨비나 발표자료
rockplace
 
PDF
Jenkins를 활용한 Openshift CI/CD 구성
rockplace
 
PDF
Red Hat Openshift Container Platform
rockplace
 
PDF
Azure SQL Database
rockplace
 
PDF
Azure Databases for PostgreSQL, MySQL and MariaDB
rockplace
 
PPTX
애플리케이션 최적화를 위한 컨테이너 인프라 구축
rockplace
 
PDF
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
rockplace
 
PDF
OSS DB on Azure
rockplace
 
PDF
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
rockplace
 
PDF
오픈소스와 개발환경
rockplace
 
PDF
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
rockplace
 
PDF
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
rockplace
 
PDF
공개소프트웨어 기반 클라우드 네이티브
rockplace
 
PDF
공개소프트웨어 기반 주요 클라우드 전환 사례
rockplace
 
MySQL InnoDB Cluster 소개
rockplace
 
락플레이스 OpenShift Q&A 토크쇼 발표자료
rockplace
 
JBoss EAP on Azure Workshop
rockplace
 
JBoss EAP on Azure
rockplace
 
[락플레이스] RHEL8.4 웨비나 발표자료
rockplace
 
Jenkins를 활용한 Openshift CI/CD 구성
rockplace
 
Red Hat Openshift Container Platform
rockplace
 
Azure SQL Database
rockplace
 
Azure Databases for PostgreSQL, MySQL and MariaDB
rockplace
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
rockplace
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
rockplace
 
OSS DB on Azure
rockplace
 
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
rockplace
 
오픈소스와 개발환경
rockplace
 
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
rockplace
 
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
rockplace
 
공개소프트웨어 기반 클라우드 네이티브
rockplace
 
공개소프트웨어 기반 주요 클라우드 전환 사례
rockplace
 
Ad

DB Migration to Azure Database for MySQL

  • 2. 목차 • Azure Database for MySQL Deploy • MySQL to Azure Database for MySQL Migration
  • 3. Azure Database for MySQL Deploy
  • 4. Azure Database for MySQL Deploy 1. 사전 준비 1) https://portal.azure.com에 접속 및 로그인 2) 리소스 그룹 생성 (1/3) - 왼쪽 네비게이션의 리소스 그룹 클릭 후 리소스 그룹 추가 버튼 클릭
  • 5. 1. 사전 준비 2) 리소스 그룹 생성 (2/3) - 리소스 그룹을 생성하기 위한 기본정보 입력 후 리뷰+만들기 버튼 클릭 Azure Database for MySQL Deploy
  • 6. 1. 사전 준비 2) 리소스 그룹 생성 (3/3) - 리소스 그룹 내용 확인 및 만들기 버튼 클릭 Azure Database for MySQL Deploy
  • 7. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (1/4) - 리소스 만들기 -> 데이터베이스 클릭-> Azure Database for MySQL 클릭 -> 만들기 버튼 클릭 Azure Database for MySQL Deploy
  • 8. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (1/4) - 리소스 만들기 -> 데이터베이스 클릭-> Azure Database for MySQL 클릭 -> 만들기 버튼 클릭 Azure Database for MySQL Deploy 단일 서버 와 유연한 서버가 존재하며 현재 유 연한 서버의 경우 MySQL 5.7버전만 이용 가능 하며 preview 버전 - 최대 10개의 읽기 복제본을 사용하여 읽기 작업 확장(단일 서버의 경우 최대 5개) - 서버를 중지/시작하여 비용 최적화(최대 7 일간 중지가능) - 단일서버 대비 많은 서버 설정 변수
  • 9. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (2/4) - MySQL 서버 정보 입력 후 만들기 버튼 클릭 Parameter Name Description etc 서버 이름 Azure Database for MySQL 서버를 식별하 는 고유한 이름 소문자, 숫자 및 - 만 사용가능 구독 서버에 사용할 Azure 구독 리소스 그룹 종속될 리소스 그룹 소스 선택 신규 또는 기존 백업을 통한 서버구성 비어 있음 : 신규 서버 백업 : 기존 백업을 통한 서버구성 서버 관리자 로그인 이름 서버에 연결시 사용 할 로그인 계정 azure_superuser, admin, administrator, root, guest 또는 public 사용 불가 암호 서버 관리자 계정의 암호 8-128자 / 다음 범주 중 세 개의 문자를 포 함해야 한다. 영문 대문자, 영문 소문자, 숫 자(0-9) 및 영숫자가 아닌 문자(!, $, #, % 등) 암호 확인 서버 관리자 계정의 암호 확인 위치 서버가 설치될 위치 버전 MySQL 버전 선택 5.6 , 5.7 , 8.0 지원하며 하위 버전 선택불가 가격 책정 계층 서버 스펙에 따른 책정 계층 선택 Azure Database for MySQL Deploy
  • 10. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (2/4) - 3가지 유형의 가격책정 계층 Azure Database for MySQL Deploy
  • 11. 기본 범용 메모리 최적화 계산 세대 5세대 5세대 5세대 vCore 수 1, 2 2, 4, 8, 16, 32, 64 2, 4, 8, 16, 32 vCore당 메모리 2GB 5GB 10 GB 저장소 크기 5GB-1TB 5GB-16TB 5GB-16TB 데이터베이스 백업 보존 기간 7-35일 7-35일 7-35일 2. Azure Database for MySQL 가격 책정 계층 1) 가격 책정 계층(1/2) - Azure Database for MySQL 서버는 기본, 범용 및 메모리 최적화의 세 가지 가격 책정 계층 중 하나에서 만들 수 있습니다. Azure Database for MySQL Deploy
  • 12. 가격 책정 계층 대상 워크로드 기본 간단한 계산 및 I/O 성능이 필요한 워크로드. 예를 들어 개발 또는 시험, 또는 자주 사용하지 않는 소규모 애플리케이션에 사용되는 서버가 이에 해당 범용 확장 가능한 I/O 처리량을 갖춘 부하 분산된 컴퓨팅 및 메모리가 필요한 대부분의 비즈니스 워크로드. 예를 들어 웹 및 모바일 앱을 호스트하는 서버와 기타 엔터프라이즈 애플리케이션 해당 메모리 최적화 빠른 트랜잭션 처리와 높은 동시성을 위해 메모리 내 성능이 필요한 고성능 데이터 베이스 워크로드. 예를 들어 실시간 데이터를 처리하는 서버 및 고성능 트랜잭션 또는 분석 앱 2. Azure Database for MySQL 가격 책정 계층 1) 가격 책정 계층(2/2) - 서버를 만든 후 vCore 수, 하드웨어 생성 및 가격 책정 계층(기본 제외)은 몇 초 이내로 늘리거나 줄일 수 있으며 또한 애플리케이션 중단 시간 없이 독립적으로 스토리지 용량을 늘리거나 백업 보존 기간을 늘리거나 줄일 수 있습니다. 서버가 만들어진 후 백업 저장소 유형은 변경할 수 없습니다. Azure Database for MySQL Deploy
  • 13. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (3/4) - 만들기 이후로 배포가 진행되며 수분 이내에 완료 Azure Database for MySQL Deploy
  • 14. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (4/4) - 모든 리소스 클릭 -> 리소스 그룹 선택 ->서버 이름 선택 Azure Database for MySQL Deploy
  • 15. 2. Azure Database for MySQL 서버 만들기 1) MySQL Server 생성 (4/4) - 서버 기본정보 확인 및 변수 변경, 보안, 경고 구성 Azure Database for MySQL Deploy
  • 16. 2. Azure Database for MySQL 서버 만들기 2) MySQL Server 방화벽 생성 - Client → MySQL 서버 접근을 위해 방화벽 설정 필요 - 생성한 MySQL 서버 리소스 선택-> 연결 보안 클릭 -> 규칙 이름, Open할 Ip 주소 입력 -> 저장 Azure Database for MySQL Deploy
  • 17. 3. Azure Database for MySQL 서버 접속 1) MySQL Client 로 접속 (1/2) - MySQL Client 사용을 위해서는 MySQL Client 프로그램이 설치되어 있어야 한다. - Download URL https://dev.mysql.com/downloads/ - 접속 명령어 Azure Database for MySQL Deploy Parameter Name Description 대상 --host(-h) 서버 이름 입력 azure-test-mysql02.mysql.database.azure.com --user(-u) 서버 관리자 로그인 이름 입력 myadmin@azure-test-mysql02 --password(-p) 서버 관리자 로그인 암호 입력
  • 18. 3. Azure Database for MySQL 서버 접속 1) MySQL Client 로 접속 (2/2) - azure-test-mysql02 서비스 개요 내용 중 서버이름 , 서버 관리자 로그인 이름 확인 후 접속 Azure Database for MySQL Deploy
  • 19. 3. Azure Database for MySQL 서버 접속 2) MySQL Workbench GUI 접속 (1/3) - Client 컴퓨터에서 MySQL Workbench APP을 실행 - Download URL https://dev.mysql.com/downloads/workbench/ Azure Database for MySQL Deploy
  • 20. 3. Azure Database for MySQL 서버 접속 2) MySQL Workbench GUI 접속 (2/3) - 클릭 -> Connection 정보 입력 -> Test Connection 클릭 -> Successfully made the MySQL Connection 팝업 출력시 연결 정상 -> OK 클릭 Azure Database for MySQL Deploy Parameter Name Description 대상 Connection Name 연결 이름 사용자 임의로 정의 Connection Method 연결 방법 TCP/IP Hostname 서버 이름 입력 azure-test-mysql02.mysql.database.azure.com Port 포트 3306 Username 서버 관리자 로그인 이름 입력 myadmin@azure-test-mysql02 password 서버 관리자 로그인 암호 입력 Default Schema 접속시 기본 select될 Database
  • 21. 3. Azure Database for MySQL 서버 접속 2) MySQL Workbench GUI 접속 (3/3) - 생성된 Connection 상자 클릭 Azure Database for MySQL Deploy
  • 22. MySQL to Azure Database for MySQL Migration
  • 23. MySQL to Azure Database for MySQL Migration 1. Migration 방법론 덤프 내보내기 가져오기 Azure Database Migration Service - On-premise와 Azure의 DB를 동기화 - 가동 중지 시간의 최소화 - As-is 와 To-be의 상위 버전은 동일해야함 - MySQL 8.0으로의 마이그레이션은 지원하지 않음 1. mysqldump(mysqlpump)를 이용한 on- premise db백업 2. mysql를 이용한 Azure로 복원 1. Azure DMS 인스턴스 생성 2. Azure DMS 프로젝트 생성 3. 마이그레이션 실행 4. 마이그레이션 중단 - DB 정합성을 위해 서비스 중지 필요 (복제 구성으로 가동 중지 시간 최소화 가능) - 대용량 Database의 경우 성능상 지양 On-premise MySQL Azure for MySQL 특징 및 주의사항 특징 및 주의사항 - Azure Database for MySQL 은 InnoDB, Memory 엔진 지원 - Azure Database for MySQL 지원버전(5.6, 5.7, 8.0)
  • 24. MySQL to Azure Database for MySQL Migration 1. Migration 방법론 Load Data Infile 1. Select into outfile ~ 명령을 통한 data export(이기종 DB의 경우 각 Database의 csv export명령어 사용) 2. Load Data Local Infile ~ 명령을 통한 data import - MySQL 이외의 이기종 Database 마이그레이션 가능 - 오프라인 마이그레이션만 가능 - Import 성능은 가장 우수 - 테이블 단위로만 마이그레이션 가능 On-premise Database Azure for MySQL 특징 및 주의사항 - Azure Database for MySQL 은 InnoDB, Memory 엔진 지원 - Azure Database for MySQL 지원버전(5.6, 5.7, 8.0)
  • 25. MySQL to Azure Database for MySQL Migration 2-1. 덤프 내보내기 가져오기 방법 사용시 유의사항 - Azure Database for MySQL 은 InnoDB 엔진만 사용 - 데이터베이스를 덤프할 때 mysqldump에서 --skip-triggers or --triggers=0 옵션 사용 - single-transaction 옵션을 사용 - 여러 VALUE 목록을 포함하는 extended-insert 여러 행 구문을 사용 (Defaults to on) - 데이터베이스를 덤프할 때 mysqldump에서 order-by-primary 옵션을 사용 - 데이터베이스를 덤프할 때 mysqldump에서 disable-keys 옵션을 사용 (Defaults to on) - 데이터 사이즈가 큰 경우 Azure blob/저장소에 백업 파일을 복사하고, 이를 통하여 복원을 수행한다. - 덤프 내보내기 수행시 병렬 수행을 원하는 경우 mysqlpump 툴을 사용 - 소스DB에서 external tablespace 사용시 덤프 후 덤프파일 수정필요 - 소스DB에서 event, trigger, stored procedure, stored function, view object 사용시 덤프 후 덤프파일 수정필요 - 소스와 타겟의 MySQL 버전이 8.0인 경우 기본 패스워드 인증방식 caching_sha2_password 변경
  • 26. MySQL to Azure Database for MySQL Migration 2-2. 빠른 데이터 로드를 위한 유의사항 - max_allowed_packet – 긴 행으로 인한 오버플로 문제를 방지하기 위해 1073741824(예: 1GB)로 설정한다. - Slow_query_log – 저속 쿼리 로그를 해제하려면 OFF로 설정한다. 이렇게 하면 데이터 로드 중 느린 쿼리 로깅으로 인한 오버헤드가 제거 된다. - Query_store_capture_mode – 쿼리 저장소 해제 하려면 없음으로 설정 한다. 이렇게 하면 쿼리 저장소의 샘플링 작업으로 인한 오버헤드 가 제거된다. - Innodb_buffer_pool_size – 마이그레이션 중에 포털의 가격 책정 계층에서 서버를 32개의 vCore 메모리 최적화 SKU로 확장하여 innodb_buffer_pool_size를 늘립니다. Innodb_buffer_pool_size는 Azure Database for MySQL 서버에 대한 컴퓨팅을 확장해야만 늘릴 수 있다. - innodb_io_capacity & innodb_io_capacity_max-Azure Portal의 서버 매개 변수에서 9000로 변경 하 여 마이그레이션 속도를 최적화 하기 위해 IO 사용률을 향상 시킨다. - innodb_write_io_threads & innodb_read_io_threads-마이그레이션의 속도를 개선 하기 위해 Azure Portal의 서버 매개 변수에서 4로 변경 한다. - 스토리지 계층 스케일 업 – 스토리지 계층이 증가함에 따라 Azure Database for MySQL 서버의 IOP가 점진적으로 증가합니다. 더 빠른 로 드를 위해 스토리지 계층을 늘려 프로비저닝된 IOP를 늘릴 수 있다. 스토리지는 축소할 수 없고 확장만 할 수 있다.
  • 27. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) Azure IaaS MySQL Azure for MySQL 덤프 내보내기 가져오기 ① mysqldump ② replication
  • 28. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 1) Source MySQL 대상 정보 확인 2) Target MySQL 대상 정보 확인
  • 29. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 3) Azure for MySQL 방화벽 설정 - MySQL 서버 리소스 선택-> 연결 보안 클릭 -> 규칙 이름, Open할 Ip 주소 입력 -> 저장
  • 30. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 4) Source DB 백업 - Migration 대상 Database 백업 5) Target 에 Database 생성 - 복원 대상 Database 생성
  • 31. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 6) Target 복원(1/2) - Azure for MySQL에 복원 - 복원 중 Azure for MySQL 프로세스
  • 32. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 6) Target 복원(2/2) - Azure for MySQL에 복원 확인
  • 33. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 7) Source DB binary log 확인 - mysqldump 파일내의 백업 시점의 binary log 파일명과 포지션 번호를 확인 8) Source MySQL - Target MySQL replication 연결
  • 34. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 9) Target DB Replication 정상 확인
  • 35. MySQL to Azure Database for MySQL Migration 2-3. Migration (mysqldump) 10) 실시간 데이터 동기화 확인