SlideShare ist ein Scribd-Unternehmen logo
1 von 109
Downloaden Sie, um offline zu lesen
2016년 JavaCafe 강사준비팀3기
Keynote
MariaDB 서버 구축
개발자가 도전하는
MariaDB 서버 구축하기
1. 도전! MariaDB 설치
2. Storage Engine의 결정
3. Master Slave 구조
4. MariaDB High Available
5. Galera Cluster
MariaDB 서버 구축하기
INTRO
MariaDB 서버 구축하기
■ 신규 DBMS(Database Management System) 도입.
MariaDB 서버 구축하기
■ 신규 DBMS의 Spec
미안합니다. Full Stack 개발자는 모두 해내야 합니다.
MariaDB 서버 구축하기
■ 신규 DBMS의 Spec
1. Open Source DBMS - 공짜 중요.
3. 동시 접속자 100명 이상.
4. 동시접속 제어 가능해야 함.
5. 트랜잭션 지원.
6. Commit, Rollback등이 가능해야 함.
7. 장애 대비 High Available(고가용성) 서버 준비.
MariaDB 서버 구축하기
■ 신규 DBMS의 Spec
MariaDB 서버 구축하기
1. 도전! MariaDB 설치
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - MaraiDB의 특징
1. Storage Engine마다 용도를 다양하게 쓸 수 있음.
2. 기존 MySQL대비 많은 성능이 개선됨
3. 상용 DBMS(Oracle, DB2, MS-SQL등)대비 못지않는
많은 기능들을 제공함.
4. 클러스터링 기능을 제공함
5. 버그와 성능을 꾸준히 개선시키고 있음.
6. MariaDB를 도입한 기업들
Facebook, Twitter, Wikipedia 그리고 국내에는
Kakao, 티켓몬스터가 있고, 부광약품에서 ERP를
Oracle이나 MSSQL이 아닌 MariaDB로 구축
https://mariadb.com/kb/ko/mariadb-vs-mysql-features/
MariaDB 서버 구축하기
■ 도전! MariaDB 설치
▪ 주소 : https://mariadb.org/
MariaDB 서버 구축하기
■ 도전! MariaDB 설치
▪ 주소 : https://mariadb.org/
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Windows 설치
▪ 다운로드
MariaDB 서버 구축하기
Next 클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Next 클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Next 클릭
Check클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Next 클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Next 클릭
UTF-8로
사용시 클릭
root 암호 입력
원격 접속 허용시
클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Next 클릭
기본설정
버퍼풀 설정
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Next 클릭
MariaDB에 피드백
전송시 클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
Install 클릭
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치진행
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치완료
MariaDB 서버 구축하기
MariaDB를 실행시킬 수 있는 CMD
MariaDB Client
■ 도전! MariaDB 설치 - Windows 설치
▪ 설치 후 화면
MariaDB 서버 구축하기
암호입력
생성된 Database 보기
■ 도전! MariaDB 설치 - Windows 설치
▪ 로그인 및 Database화면 보기
MariaDB 서버 구축하기
위에서 설정한 서비스 이름
등록됨.
■ 도전! MariaDB 설치 - Windows 설치
▪ 서비스 이름 확인
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
▪ 주소 : https://mariadb.org/
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
▪ 다운로드 위치
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
▪ 다운로드 위치
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
▪ 다운로드 항목
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
▪ 다운로드 해야 할 파일 리스트
MariaDB-10.1.9-centos6-x86_64-client.rpm
MariaDB-10.1.9-centos6-x86_64-common.rpm
MariaDB-10.1.9-centos6-x86_64-compat.rpm
MariaDB-10.1.9-centos6-x86_64-devel.rpm
MariaDB-10.1.9-centos6-x86_64-server.rpm
MariaDB-10.1.9-centos6-x86_64-test.rpm
galera-25.3.9-1.rhel6.el6.x86_64.rpm
jemalloc-3.6.0-1.el6.x86_64.rpm
jemalloc-devel-3.6.0-1.el6.x86_64.rpm
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
▪ 설치전 OS에 설치되어야 하는 필요 패키지 및 USER와 Group
1. 필요패키지
perl-Time-HiRes
perl-DBI
nc
nmap
3. User 및 Group
group : mysql
user : mysql
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
[root@mdb01 MariaDB]# rpm -ivh galera*
[root@mdb01 MariaDB]# rpm -ivh jemalloc*
[root@mdb01 MariaDB]# rpm -ivh MariaDB*
▪ 설치 방법
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
[root@mdb01 MariaDB] # /etc/init.d/mysql start
[root@mdb01 MariaDB] # /usr/bin/mysqladmin -u root password ‘암호’
[root@mdb01 MariaDB] # mysql -uroot -p암호
▪ 기초 환경 설정 - MariaDB 시작 및 root 암호 설정
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
[root@mdb01 MariaDB] # mysql -uroot -p’mariadb!’
▪ 기초 환경 설정 - 로그인
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
[root@mdb01 MariaDB] # create database REPLICATION;
[root@mdb01 MariaDB] # show databases;
▪ 기초 환경 설정 - Database 생성
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
[root@mdb01 MariaDB] # use REPLICATION
[root@mdb01 MariaDB] # create table TAB1(SNO int, NAME char(10))
ENGINE=InnoDB;
[root@mdb01 MariaDB] # show tables;
▪ 기초 환경 설정 - Table 생성 테스트
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
[root@mdb01 MariaDB] # insert into TAB1 values(1,'mihoke');
▪ 기초 환경 설정 - Insert 테스트
MariaDB 서버 구축하기
■ 도전! MariaDB 설치 - Linux 설치
MariaDB 서버 구축하기
2. Storage engine 결정
MariaDB 서버 구축하기
■ Storage Engine의 결정
1. 이래저래 해서 신규로 DBMS를 구축했습니다. 사용자들
에게 IP를 알려주고 접속정보를 알려주었습니다.
2. 그런데 사용자가 늘어날수록 DBMS에 먼가 문제가 생
기는것 같습니다. 사용자가 늘어날수록 Query 실행시
응답속도가 느려지고 있습니다.
3. 설상 가상으로 트랜잭션 유실이 발생합니다.
4. 어서 장애를 인식하고 문제를 해결해야 합니다.
MariaDB 서버 구축하기
정답은 Storage Engine의 이해 부족.
MariaDB는 Storage Engine의 특성을 이해하여야 한다.
■ Storage Engine의 결정
MariaDB 서버 구축하기
▪ Storage 엔진 설명
1. 이전에 MySQL[버전 5.0 이하]의 기본 스토리지 엔진은
MyISAM이라는 Storage Engine이 기본이었습니다.
2. 위에서 얘기한 장애 현상은 MyISAM이란 Storage engine
의 특성입니다.
3. 그래서 그만큼 Storage Engine의 선택이 중요합니다.
4. Storage엔진은 어떤것들이 있는지 알아보고 적합한
Storage Enigne을 선택해 보도록 하겠습니다.
■ Storage Engine의 결정
MariaDB 서버 구축하기
▪ Storage 엔진 - 사전지식 [Object Lock]
순위 가수 노래제목 트랙
1 빅뱅 히트곡1 4
2 AOA 히트곡2 2
3 EXID 히트곡3 8
4 카라 히트곡3 3
5 소녀시대 히트곡4 6
6 FX 히트곡5 2
7 다비치 히트곡6 1
테이블 Lock
ROW Lock
■ Storage Engine의 결정
MariaDB 서버 구축하기
■ MariaDB Storage 엔진 소개 - MyISAM(Aria)
1. Table 단위의 Lock이 걸려 동시성이 현저
히 낮음.
2. 테이블의 데이터는 OS에 있는 File로 된
테이블에 직접적으로 쓰게 됨.
3. 따라서 OS의 Filesystem에 대해 종속됨.
MariaDB 서버 구축하기
■ MariaDB Storage 엔진 소개 - TokuDB
1. Percona라는 단체에서 개발중.
2. B-Tree Index의 단점을 보완한 프렉탈 트리(Fractal
Tree)인덱스를 지원함.
3. 인덱스에 새로운 레코드를 추가하는 작업이 상당히
빠름. 예를 들어 10억건의 레코드가 B-Tree 대비
Fractal Tree는1,000배 빠름.
4. 압축을 해서 저장하기 때문에 디스크 절약도 가능.
MariaDB 서버 구축하기
■ MariaDB Storage 엔진 소개 - Memory
1. Heap 스토리지 엔진이라고도 함.
2. 데이터의 크기가 작고 아주 빠른 처리가 필요한 경우
적합함.
3. MEMORY 엔진도 Table 단위의 Lock만 지원.
4. 고정길이 칼럼만 지원되며 LOB타입 지원 안됨.
5. 주요 사용 용도는 임시 테이블로 많이 사용됨.
MariaDB 서버 구축하기
■ MariaDB Storage 엔진 소개 - InnoDB(XtraDB)
MariaDB 서버 구축하기
■ MariaDB Storage 엔진 소개 - InnoDB(XtraDB)
Buffer Pool
Prefetcher,
Cleaner
Table Space
Disk
읽기
쓰기Prefetcher : 읽기에 사용되는 DBMS I/O
Cleaner : 쓰기에 사용되는 DBMS I/O
Client
Query
MariaDB Engine
MariaDB 서버 구축하기
■ MariaDB Storage 엔진 소개 - InnoDB(XtraDB)
1. 프라이머리 키에 의한 클러스터링
기본적으로 프라이머리 키를 기준으로 클러스터링 되어 저장.
2. 잠금이 필요 없는 일관된 읽기(Non-locking consistent read)
MVCC라는 기술을 이용해 락을 걸지 않고 읽기 작업을 수행(Undo 활용)
3. 외래 키 지원
4. 자동 데드락 감지
5. 자동화된 장애 복구
6. 오라클의 아키텍처 적용
Oracle DBMS와 비슷한 부분이 많다.(UNDO, SYSTEM TBS, TBS 등)
MariaDB 서버 구축하기
■ MariaDB Architecture 소개
Engine
Storage
Hardware
MariaDB 서버 구축하기
■ MyISAM(Aria)
트랜잭션이 작고 이용자가 별로 없다면 MyISAM
백업이 쉽다. - Mariadb 서버를 내리고 파일을 그대로 복사하면 백업 완료.
물론 mysqldump를 이용한 Backup 가능.
또한 내부적으로 대량 정렬때 이 Storage Engine이 사용됨.
■ InnoDB(XtraDB) - 기본 Default!!!!!!!
Oracle에서 Engine 단위에서 지원되는 대부분의 기능을 지원한다.
MVCC를 이용한 특성 때분에 대부분 이 Storage Engine으로 Table을 생성한다.
OLTP서버(대표적으로 Web용 Database)로 이용된다.
■ 결론 - 어떤 Storage Engine 을 사용할 것인가?
MariaDB 서버 구축하기
■ 결론 - 어떤 Storage Engine 을 사용할 것인가?
■ Memory
Memory Storage는 메모리를 이용한 Storage로 임시 테이블이나 고속의 속도를 요구
할 때 쓰이는 Storage Engine이다.
그러나 Memory Storage에서 알 수 있듯이 직접 물리 메모리를 할당하는 Engine으로
서 MariaDB 서버가 내려가거나 서버 Rebooting시 소멸된다.
내부적으로 일정량의 정렬이 일어날시 임시적으로 사용되기도 함.
■ TokuDB
SNS기반의 대용량 테이블, 실시간 웹페이지 분석, 웹서버나 게임 서버의 로그분석
고성능 웹 클롤링, Datawarehouse같은 곳에 이용하면 좋다.
MariaDB 서버 구축하기
3. 부하를 분산시켜라!!!!
Master - Slave 구조
MariaDB 서버 구축하기
■ Master - Slave 구조
1. 사업이 잘되어 신규 부서가 생기고 신규 업무가 점점 늘어나
고 있습니다. 데이터가 점점 쌓이고 시스템 부하가 높아지고
있습니다.
2. 주서버가 장애가 생길때를 대비해 여유서버를 만들어 두기
는 했는데 이 서버를 이용해서 부하 분산을 시도해 야 할 것
같습니다.
3. 여유 서버를 활용할 방법을 알아봅니다.
MariaDB 서버 구축하기
Insert
Update
Delete
Select
■ Master - Slave 구조
▪ 기초 환경 설정
MariaDB 서버 구축하기
1. Master - Slave구조를 다른 말로 복제기술이라
고 합니다. Master의 데이터를 Slave에 똑같이
복제하기 때문입니다.
2. 복제를 이용하기 위해선 다음과 같은 선제조건
이 충족되어야 합니다.
3. 트랜잭션 지원, Lock 지원이 필수
기본 Storage Engine 중 TokuDB, InnoDB,
MyISAM Storage가 지원됨.
■ Master - Slave 구조
▪ 기초 환경 설정
MariaDB 서버 구축하기
1. 앞에서 배웠던 내용을 토대로 MariaDB 서버
를 한대 더 준비합니다.
2. Master DB를 백업 후 Slave서버에 Restore
합니다.
3. Master가 될 서버에 slave가 사용할 User 하
나를 추가합니다. 이 계정을 이용해서 Master
서버의 DML내용을 Slave서버로 복제합니다.
■ Master - Slave 구조
▪ 기초 환경 설정 - 순서
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ MariaDB 서버 환경설정
Master Slave
Server-id = 1
log-bin = master_1_bin
sync_binlog = 5M
max_binlog_size = 512M
log-bin-trust-function-creators = 1
server-id = 2
relay-log = slave_1_bin
relay_log_purge = TRUE
read_only
- /etc/my.cnf.d/server.cnf 환경파일 설정
- [mysqld] 라는 섹션에 추가해 줍니다.
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ MariaDB 서버 환경설정
- /etc/my.cnf.d/server.cnf 환경파일 설정
- [mysqld] 라는 섹션에 추가해 줍니다.
MariaDB 서버 구축하기
1. Master 서버
- Database 백업
[root@mdb01 MariaDB] # mysqldump -uroot -p암호 hadb > DB이름.sql
2. Slave 서버
- 위에서 백업한 Database dump를 슬레이브로 가져옴.
- 데이터 베이스 생성
mysql> create database hadb
- Database dump를 Import
[root@mdb01 MariaDB] # mysql -uroot -p암호 hadb < DB이름.sql
■ Master - Slave 구조
▪ Database Backup & Restore
MariaDB 서버 구축하기
1. Master 서버에서 실행
2. User 추가 및 권한 설정
Master 서버에서 설정
mysql> create user 'repl_user'@'%' identified by 'slavepass';
mysql> grant replication slave on *.* to ‘repl_user'@'%';
3. 현제 Log Position 확인
show master statusG;
현제 Log File 이름 및 Log Position 확인.
■ Master - Slave 구조
▪ 복제용 계정 설정 및 Master Log Position 확인
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 복제 서버 설정
1. Slave 서버에서 설정
2. 복제 환경 설정
mysql> change master to master_host='192.168.0.100',
master_user='repl_user', master_password='templer', master_port=3306,
master_log_file='master_1_bin.00005', master_log_pos=247883551;
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 복제 서버 설정
1. Slave 서버에서 확인
2. 복제 준비가 되었는지 확인
mysql > show slave statusG;
......
Slave_IO_Running: No
Slave_SQL_Running: No
......
Seconds_Behind_Master: NULL
......
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 복제 서버 설정
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 기초 환경 설정
1. Slave에서 복제 기동
2. 복제가 활성화 되었는지 확인
mysql > start slave;
mysql > show slave statusG;
......
Slave_IO_Running: YES
Slave_SQL_Running: YES
......
Seconds_Behind_Master: 238
......
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 복제 서버 설정
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 초간단 모니터링
1. Slave 서버에서 실행
2. 모니터링 중점사항
mysql > start slave;
mysql > show slave statusG;
......
Slave_IO_Running: YES
Slave_SQL_Running: YES
......
Seconds_Behind_Master: 238
……
3. 항상 Slave_IO, SQL Running이 Yes여야 하며, Seconds_Behind_Master가 0에 가까
워야 한다. Seconds_Behind_Master가 숫자가 떨어지지 않고 오히려 올라간다면 IO나
SQL혹은 기타 문제이므로 에러로그나 기타 문제를 체크해봐야 한다.
MariaDB 서버 구축하기
■ Master - Slave 구조
▪ 실습
1. Benchmark SQL을 이용한 부하 데모
2. Master 혹은 Slave 서버가 죽은 가정을 하여 복구 실습
MariaDB 서버 구축하기
■ 좀더 진화된 Master - Slave
Master DB 1개, 여러개의 Slave로 복
제하는 방법. SQL의 대부분은 조회성
데이터이기 때문에 Slave를 여러개 두
어 부하를 분산시킨다.
▪ Multi Slave
MariaDB 서버 구축하기
4. 자동화 툴
MariaDB High Available
MariaDB 서버 구축하기
■ MariaDB High Available
1. 친구 혹은 지인들과 회식자리중 서버가 문제가 생겼습니다. 자
리를 파하고 회사로 출근을 합니다.
3. 로그번호와 포지션을 확인하고 복구를 합니다.
5. 만약 이게 자동화로 되어있으면 편할텐데라는 상각을 해보게
됩니다. 자동화로 되어있으면 자동으로 복구가 되고 서비스는
계속 수행이 가능할텐데요.
7. 보시는바와같이 master-slave 구조는 자동으로 복구가 되지
않아 사람의 손이 필요합니다. 자동으로 복구되는 시스템을 알
아봐야 하겠습니다.
8. MHA(MariaDB[MySQL] High Available)
MariaDB 서버 구축하기
■ MariaDB High Available
▪ 기본개념
1. Master - Slave 상황에서 운영중 만약
Master 서버가 장애를 일으키면 Slave서
버중 한개를 Master로 승격시켜 DML을
받을 수 있도록 무중단 서비스를 하는것
이 바로 MHA[MariaDB High Available]
의 기능입니다.
2. Slave서버가 장애가 난다면 기존 슬레이
브 서버들이 2-3개 이상 있으므로 운영
하는데 문제는 없습니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ 구성환경
Master
Slave 1 Slave 2
Manager
MariaDB 서버 구축하기
■ MariaDB High Available
▪ 구성환경 - 서버 환경
Master Slave 1 Slave 2 Manager
IP 192.168.0.100 192.168.0.110 192.168.0.120 192.168.0.130
HOSTNAME mdb01 sdb01 sdb02 manager
Role Master Slave 1번 Slave 2번 HA 서버
MariaDB 서버 구축하기
■ MariaDB High Available
▪ OS 기초 환경 설정
1. MHA를 설치하기 전에 OS에 한가지 설정을 해야 합
니다. 그건 바로 SSH 설정입니다.
2. 서버끼리 암호없이 로그인이 가능하도록 만들어야
합니다. 그것을 전문용어로 Trust되었다고 합니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ SSH trust 설정 - 1
1. ssh-keygen
ssh-keygen명령어로 개인키를 생성합니
다. 위의 명령어 입력후 엔터키를 3번 입
력하면 자동으로 만들어 집니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ SSH trust 설정 - 2
2. ssh-copy-id root@192.168.0.x
ssh-copy-id 명령어로 개인키 복사를 시도하면 접속을 계속 시도하겠냐고 물
어봅니다. yes를 입력해주면 서버의 암호를 물어보는데 암호를 입력해주면 복
사를 하게 됩니다. 위와같은 방법으로 자신 서버 이외에 모든 서버에 복사해
줍니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ SSH trust 설정 - 3
3. ssh root@192.168.0.x
ssh 명령어로 원격 로그인을 각 서버에 시도해 봅니다. 암호를 물어보지 않고
바로 로그인이 된다면 trust된 것입니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MariaDB 추가 환경 설정
1. Slave 서버의 server.cnf 에 다음 사항을 추가해 줍니다.
vi /etc/my.cnf.d/server.cnf
log-bin = master_1_bin
relay_log_purge=0
MariaDB 서버 구축하기
▪ MHA 설치 및 환경구성
■ MariaDB High Available
1. Download
https://code.google.com/p/mysql-master-ha/wiki/Downloads?tm=2
2. 다음의 파일들을 다운로드 받습니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 설치 및 환경구성
1. 필요패키지
perl-DBD-MySQL
perl-Config-Tiny
perl-Log-Dispatch
perl-Parallel-ForkManager
perl-Time-HiRes
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 설치 및 환경구성
2. MHA 설치
Manager Node
rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
Master, Slave Node
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
Manager node는 Manager, Node rpm 두개를 설치하고 이외 다른 노드는
node rpm만 설치합니다.
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 설치 및 환경구성
3. 공통 디렉토리 생성
mkdir /var/log/masterha
4. Configuration File 설정
Manager 서버에만 설정한다.
/etc/MHA/MHA.cnf 파일로 만들고 안에 다음과 같이 입력
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 환경 테스트
1. ssh 테스트
masterha_check_ssh --conf=/etc/MHA/MHA.cnf
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 환경 테스트
2. Master - Slave 복제 테스트
masterha_check_repl --conf=/etc/MHA/MHA.cnf
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 환경 테스트
3. MHA 데몬 실행
nohup masterha_manager --conf=/etc/MHA/MHA.cnf < /dev/null > /var/log/masterha/
manager.log 2>&1 &
4. MHA 상태 확인
nohup masterha_check_status --conf=/etc/MHA/MHA.cnf
MariaDB 서버 구축하기
■ MariaDB High Available
▪ MHA 테스트
1. 장애 상황 발생
Master Server Fail
인위적으로 Master Server의 MariaDB 프로세스 종료
2. MHA Log 확인
3. Slave Server의 Master 승격 여부 확인.
Master Server 에서 다음의 명령어를 입력
show master statusG;
MariaDB 서버 구축하기
▪ MMM - Multi Master Replication Manager for MySQL[MariaDB]
■ MariaDB High Available
MariaDB 서버 구축하기
5. 고급진 기술
Galera Cluster
MariaDB 서버 구축하기
■ DBMS 문제 발생.
1. Master - Slave 구조 한가지 구조적인 문제가 있습
니다.
2. Master Server에서 입력된 DML이 Slave서버에 실
시간으로 반영이 지연될 수 있습니다.
3. 이 지연시간을 예방할 수 있는 있는 방법이 있습니다
MariaDB 서버 구축하기
■ DBMS 문제 발생.
MariaDB 서버 구축하기
■ DBMS 문제 발생.
▪ 클러스터링이란???
가용할 수 있는 여러대의 서버를 가지고 있거나 인스턴스를 가지고 있는
하나의 데이터 베이스다.
인스턴스란 하나의 데이터베이스에서 서로 상호작용하는 메모리와 프로
세스의 집합체이다.
이것은 실질적으로 저장되어 있는 하나의 물리적 데이터 집합체이다.
MariaDB 서버 구축하기
여러대의 서버중에서 한두대가 장애가 일어나더라도 마찬가지로 계속적
인 서비스가 가능하다.
서버간 실시간 동기화가 되기 때문에 여러대의 서버중 어떤 서버에서 접
속을 하던 같은 데이터를 입력 및 조회를 할수가 있다.
■ DBMS 문제 발생.
▪ 클러스터링이란???
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 환경설정
1. 설치 서버 환경
OS : CentOS 6.5
MaraiDB : 10.1.9
IP : 1번 노드 - 192.168.0.100
2번 노드 - 192.168.0.110
3번 노드 - 192.168.0.120
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 환경설정
2. MariaDB 및 서버 준비사항
1장에서 배운 MariaDB서버 설치 방법을 참고 3대에 모두 설치한다.
3대 모두 MariaDB 서버가 정상적으로 시작되고 종료되는지 체크한다.
/etc/init.d/mysql start
/etc/init.d/mysql stop
MariaDB를 기동하여 3대서버에 모두 다음과 같은 계정을 추가해준다.
grant all privileges on *.* to 'root'@'192.168.0.100' identified by 'templer';
grant all privileges on *.* to 'root'@'192.168.0.110' identified by 'templer';
grant all privileges on *.* to 'root'@'192.168.0.120' identified by ‘templer';
모든 환경설정이 끝났으면 MariaDB를 모두 종료한다.
/etc/init.d/mysql stop
모든 방화벽을 풀고 Selinux를 Disabled 시킨다.
/etc/init.d/iptables stop
setenforce 0
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 환경설정
3. 1번 Node 편집
/etc/my.cnf.d/server.cnf
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 환경설정
4. 2번 Node 편집
/etc/my.cnf.d/server.cnf
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 환경설정
5. 3번 Node 편집
/etc/my.cnf.d/server.cnf
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 환경설정
6. 편집시 유의사항
모든Node의 모든 파라미터는 위의 모든 내용이 기본적으로 있어야 한다.
bind-address는 해당 Node의 IP를 입력한다.
wsrep_sst_receive_address는 해당 Node의 IP를 입력한다.
wsrep_sst_auth는 해당 Node의 MariaDB 계정과 암호를 입력한다.
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
1. 기동순서 : 1번 Node
1번 Node에 모든 데이터가 있다고 가정한다. 데이터를 보유하고 있는 Node를 다른말로 Donor
Node라고 한다.
Galera Cluster에서는 이 Donor Node를 제일 먼저 시작해야 한다. Donor Node란 뜻은 데이터
증여자로 Donor Node외 모든 Node는 이 Donor Node에서 최초 기동시 모든 데이터를 받는
다.
1번 Node에서 /etc/my.cnf.d/server.cnf에서 wsrep_cluster_address를 다음과 같이 입력한다.
wsrep_cluster_address=“gcomm://"
즉 아무런 IP도 입력하지 않고 기동한다. 최초 기동시는 어떠한 서버도 접속할 서버가 없기 때문
에 IP가 빈 상태에서 서버를 기동한다.
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
2. 기동순서 : 1번 Node
1번 Node를 시작한다.
/etc/init.d/mysql start --wsrep-new-cluster
MariaDB 최초 기동시 위의 명령으로 기동한다. 처음 한번만 위와같이 입력하고 다음에 시작시
저 명령어를 입력하지 않는다. 만약 엉뚱한 노드에서 실행시 데이터가 모두 삭제될 위험이 있으
니 반드시 Donor Node - 1번 Node에서 시작하여야 한다.
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
3. 기동순서 : 1번 Node - 기동확인
MariaDB에 접속하여 다음 내용을 확인한다.
mysql -uroot -ptempler : MariaDB 접속
mysql> show status where Variable_name like ‘%wsrep%';
…
| wsrep_cluster_conf_id | 1
| wsrep_cluster_size | 1
…
| wsrep_ready | ON
| wsrep_incoming_addresses | 192.168.0.100:3306
…
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
4. 기동순서 - 2번 Node
1번 Node에서 /etc/my.cnf.d/server.cnf에서 wsrep_cluster_address를 다음과 같이 입력한다.
wsrep_cluster_address="gcomm://192.168.0.100"
gcomm에 1번 Node의 IP를 입력한다.
MariaDB기동한다.
/etc/init.d/mysql start
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
5. 기동순서 : 2번 Node - 기동확인
MariaDB에 접속하여 다음 내용을 확인한다.
mysql -uroot -ptempler : MariaDB 접속
mysql> show status where Variable_name like ‘%wsrep%';
…
| wsrep_cluster_conf_id | 2
| wsrep_cluster_size | 2
…
| wsrep_ready | ON
| wsrep_incoming_addresses | 192.168.0.110:3306,192.168.0.100:3306
…
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
6. 기동순서 - 3번 Node
1번 Node에서 /etc/my.cnf.d/server.cnf에서 wsrep_cluster_address를 다음과 같이 입력한다.
wsrep_cluster_address=“gcomm://192.168.0.110,192.168.0.120"
gcomm에 1,2번 Node의 IP를 입력한다.
MariaDB기동한다.
/etc/init.d/mysql start
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
7. 기동순서 : 3번 Node - 기동확인
MariaDB에 접속하여 다음 내용을 확인한다.
mysql -uroot -ptempler : MariaDB 접속
mysql> show status where Variable_name like ‘%wsrep%';
…
| wsrep_cluster_conf_id | 3
| wsrep_cluster_size | 3
…
| wsrep_ready | ON
| wsrep_incoming_addresses | 192.168.0.110:3306,192.168.0.120:3306,192.168.0.100:3306
…
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 기동방법
8. 모든 Node 확인
각 Node의 MariaDB에 접속하여 다음 내용을 확인한다.
mysql -uroot -ptempler : MariaDB 접속
mysql> show status where Variable_name like ‘%wsrep%';
…
| wsrep_cluster_conf_id | 3
| wsrep_cluster_size | 3
…
| wsrep_ready | ON
| wsrep_incoming_addresses |
192.168.0.110:3306,192.168.0.120:3306,192.168.0.100:3306
…
즉 3번노드에서 확인것처럼 wsrep_incoming_address에 모든 Node의 IP가 표시된다.
MariaDB 서버 구축하기
■ Galera Cluster
▪ Galera Cluster 테스트
1. Galera Cluster 테스트
하나의 Node에서 테이블을 생성해보고 모든 노드에 생성되는지 확인
하나의 Node에서 만들어진 테이블에 데이터를 넣어보고 모든 Node에 적용되는지 확인.
궁금한점은질문해주세요
강의가 끝났습니다
Keynote

Weitere ähnliche Inhalte

Was ist angesagt?

ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfJesmar Cannao'
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestI Goo Lee
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나Amazon Web Services Korea
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centersMariaDB plc
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육 Sangmo Kim
 
Introduction to Database Services
Introduction to Database ServicesIntroduction to Database Services
Introduction to Database ServicesAmazon Web Services
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabaseTung Nguyen Thanh
 
PostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaPostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaEdureka!
 
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Amazon Web Services Korea
 
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018Amazon Web Services Korea
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기NHN FORWARD
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
 
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
 
AWS Cloud 환경으로​ DB Migration 전략 수립하기
AWS Cloud 환경으로​ DB Migration 전략 수립하기AWS Cloud 환경으로​ DB Migration 전략 수립하기
AWS Cloud 환경으로​ DB Migration 전략 수립하기BESPIN GLOBAL
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB OptimizationJongJin Lee
 

Was ist angesagt? (20)

ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
 
Introduction to Database Services
Introduction to Database ServicesIntroduction to Database Services
Introduction to Database Services
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL Database
 
PostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | EdurekaPostgreSQL Tutorial For Beginners | Edureka
PostgreSQL Tutorial For Beginners | Edureka
 
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
 
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 
Introduction to Amazon Aurora
Introduction to Amazon AuroraIntroduction to Amazon Aurora
Introduction to Amazon Aurora
 
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
모놀리스에서 마이크로서비스 아키텍처로의 전환 전략::박선용::AWS Summit Seoul 2018
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
 
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
 
AWS Cloud 환경으로​ DB Migration 전략 수립하기
AWS Cloud 환경으로​ DB Migration 전략 수립하기AWS Cloud 환경으로​ DB Migration 전략 수립하기
AWS Cloud 환경으로​ DB Migration 전략 수립하기
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB Optimization
 

Ähnlich wie 개발자가 도전하는 MariaDB 서버구축

개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝정해 이
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개rockplace
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other FeaturesJongJin Lee
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Web Services Korea
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLrockplace
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQLrockplace
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxNeoClova
 
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석smartstudy_official
 
GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항정명훈 Jerry Jeong
 
My sql 장애복구
My sql 장애복구My sql 장애복구
My sql 장애복구kidoki
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...Amazon Web Services Korea
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1NeoClova
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법Ji-Woong Choi
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
Maria db
Maria dbMaria db
Maria dbymtech
 
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...Amazon Web Services Korea
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유Kyoungchan Lee
 
AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론I Goo Lee
 

Ähnlich wie 개발자가 도전하는 MariaDB 서버구축 (20)

개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other Features
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB Day
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQL
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQL
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
 
GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항
 
My sql 장애복구
My sql 장애복구My sql 장애복구
My sql 장애복구
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
 
Maria db
Maria dbMaria db
Maria db
 
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
 
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
 
AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론
 

Kürzlich hochgeladen

실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 

Kürzlich hochgeladen (8)

실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 

개발자가 도전하는 MariaDB 서버구축

  • 1. 2016년 JavaCafe 강사준비팀3기 Keynote MariaDB 서버 구축 개발자가 도전하는
  • 2. MariaDB 서버 구축하기 1. 도전! MariaDB 설치 2. Storage Engine의 결정 3. Master Slave 구조 4. MariaDB High Available 5. Galera Cluster
  • 4. MariaDB 서버 구축하기 ■ 신규 DBMS(Database Management System) 도입.
  • 5. MariaDB 서버 구축하기 ■ 신규 DBMS의 Spec 미안합니다. Full Stack 개발자는 모두 해내야 합니다.
  • 6. MariaDB 서버 구축하기 ■ 신규 DBMS의 Spec 1. Open Source DBMS - 공짜 중요. 3. 동시 접속자 100명 이상. 4. 동시접속 제어 가능해야 함. 5. 트랜잭션 지원. 6. Commit, Rollback등이 가능해야 함. 7. 장애 대비 High Available(고가용성) 서버 준비.
  • 7. MariaDB 서버 구축하기 ■ 신규 DBMS의 Spec
  • 8. MariaDB 서버 구축하기 1. 도전! MariaDB 설치
  • 9. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - MaraiDB의 특징 1. Storage Engine마다 용도를 다양하게 쓸 수 있음. 2. 기존 MySQL대비 많은 성능이 개선됨 3. 상용 DBMS(Oracle, DB2, MS-SQL등)대비 못지않는 많은 기능들을 제공함. 4. 클러스터링 기능을 제공함 5. 버그와 성능을 꾸준히 개선시키고 있음. 6. MariaDB를 도입한 기업들 Facebook, Twitter, Wikipedia 그리고 국내에는 Kakao, 티켓몬스터가 있고, 부광약품에서 ERP를 Oracle이나 MSSQL이 아닌 MariaDB로 구축 https://mariadb.com/kb/ko/mariadb-vs-mysql-features/
  • 10. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 ▪ 주소 : https://mariadb.org/
  • 11. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 ▪ 주소 : https://mariadb.org/
  • 12. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 다운로드
  • 13. MariaDB 서버 구축하기 Next 클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 14. MariaDB 서버 구축하기 Next 클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 15. MariaDB 서버 구축하기 Next 클릭 Check클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 16. MariaDB 서버 구축하기 Next 클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 17. MariaDB 서버 구축하기 Next 클릭 UTF-8로 사용시 클릭 root 암호 입력 원격 접속 허용시 클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 18. MariaDB 서버 구축하기 Next 클릭 기본설정 버퍼풀 설정 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 19. MariaDB 서버 구축하기 Next 클릭 MariaDB에 피드백 전송시 클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 20. MariaDB 서버 구축하기 Install 클릭 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 21. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치진행
  • 22. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치완료
  • 23. MariaDB 서버 구축하기 MariaDB를 실행시킬 수 있는 CMD MariaDB Client ■ 도전! MariaDB 설치 - Windows 설치 ▪ 설치 후 화면
  • 24. MariaDB 서버 구축하기 암호입력 생성된 Database 보기 ■ 도전! MariaDB 설치 - Windows 설치 ▪ 로그인 및 Database화면 보기
  • 25. MariaDB 서버 구축하기 위에서 설정한 서비스 이름 등록됨. ■ 도전! MariaDB 설치 - Windows 설치 ▪ 서비스 이름 확인
  • 26. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 ▪ 주소 : https://mariadb.org/
  • 27. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 ▪ 다운로드 위치
  • 28. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 ▪ 다운로드 위치
  • 29. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 ▪ 다운로드 항목
  • 30. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 ▪ 다운로드 해야 할 파일 리스트 MariaDB-10.1.9-centos6-x86_64-client.rpm MariaDB-10.1.9-centos6-x86_64-common.rpm MariaDB-10.1.9-centos6-x86_64-compat.rpm MariaDB-10.1.9-centos6-x86_64-devel.rpm MariaDB-10.1.9-centos6-x86_64-server.rpm MariaDB-10.1.9-centos6-x86_64-test.rpm galera-25.3.9-1.rhel6.el6.x86_64.rpm jemalloc-3.6.0-1.el6.x86_64.rpm jemalloc-devel-3.6.0-1.el6.x86_64.rpm
  • 31. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 ▪ 설치전 OS에 설치되어야 하는 필요 패키지 및 USER와 Group 1. 필요패키지 perl-Time-HiRes perl-DBI nc nmap 3. User 및 Group group : mysql user : mysql
  • 32. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 [root@mdb01 MariaDB]# rpm -ivh galera* [root@mdb01 MariaDB]# rpm -ivh jemalloc* [root@mdb01 MariaDB]# rpm -ivh MariaDB* ▪ 설치 방법
  • 33. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 [root@mdb01 MariaDB] # /etc/init.d/mysql start [root@mdb01 MariaDB] # /usr/bin/mysqladmin -u root password ‘암호’ [root@mdb01 MariaDB] # mysql -uroot -p암호 ▪ 기초 환경 설정 - MariaDB 시작 및 root 암호 설정
  • 34. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 [root@mdb01 MariaDB] # mysql -uroot -p’mariadb!’ ▪ 기초 환경 설정 - 로그인
  • 35. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 [root@mdb01 MariaDB] # create database REPLICATION; [root@mdb01 MariaDB] # show databases; ▪ 기초 환경 설정 - Database 생성
  • 36. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 [root@mdb01 MariaDB] # use REPLICATION [root@mdb01 MariaDB] # create table TAB1(SNO int, NAME char(10)) ENGINE=InnoDB; [root@mdb01 MariaDB] # show tables; ▪ 기초 환경 설정 - Table 생성 테스트
  • 37. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치 [root@mdb01 MariaDB] # insert into TAB1 values(1,'mihoke'); ▪ 기초 환경 설정 - Insert 테스트
  • 38. MariaDB 서버 구축하기 ■ 도전! MariaDB 설치 - Linux 설치
  • 39. MariaDB 서버 구축하기 2. Storage engine 결정
  • 40. MariaDB 서버 구축하기 ■ Storage Engine의 결정 1. 이래저래 해서 신규로 DBMS를 구축했습니다. 사용자들 에게 IP를 알려주고 접속정보를 알려주었습니다. 2. 그런데 사용자가 늘어날수록 DBMS에 먼가 문제가 생 기는것 같습니다. 사용자가 늘어날수록 Query 실행시 응답속도가 느려지고 있습니다. 3. 설상 가상으로 트랜잭션 유실이 발생합니다. 4. 어서 장애를 인식하고 문제를 해결해야 합니다.
  • 41. MariaDB 서버 구축하기 정답은 Storage Engine의 이해 부족. MariaDB는 Storage Engine의 특성을 이해하여야 한다. ■ Storage Engine의 결정
  • 42. MariaDB 서버 구축하기 ▪ Storage 엔진 설명 1. 이전에 MySQL[버전 5.0 이하]의 기본 스토리지 엔진은 MyISAM이라는 Storage Engine이 기본이었습니다. 2. 위에서 얘기한 장애 현상은 MyISAM이란 Storage engine 의 특성입니다. 3. 그래서 그만큼 Storage Engine의 선택이 중요합니다. 4. Storage엔진은 어떤것들이 있는지 알아보고 적합한 Storage Enigne을 선택해 보도록 하겠습니다. ■ Storage Engine의 결정
  • 43. MariaDB 서버 구축하기 ▪ Storage 엔진 - 사전지식 [Object Lock] 순위 가수 노래제목 트랙 1 빅뱅 히트곡1 4 2 AOA 히트곡2 2 3 EXID 히트곡3 8 4 카라 히트곡3 3 5 소녀시대 히트곡4 6 6 FX 히트곡5 2 7 다비치 히트곡6 1 테이블 Lock ROW Lock ■ Storage Engine의 결정
  • 44. MariaDB 서버 구축하기 ■ MariaDB Storage 엔진 소개 - MyISAM(Aria) 1. Table 단위의 Lock이 걸려 동시성이 현저 히 낮음. 2. 테이블의 데이터는 OS에 있는 File로 된 테이블에 직접적으로 쓰게 됨. 3. 따라서 OS의 Filesystem에 대해 종속됨.
  • 45. MariaDB 서버 구축하기 ■ MariaDB Storage 엔진 소개 - TokuDB 1. Percona라는 단체에서 개발중. 2. B-Tree Index의 단점을 보완한 프렉탈 트리(Fractal Tree)인덱스를 지원함. 3. 인덱스에 새로운 레코드를 추가하는 작업이 상당히 빠름. 예를 들어 10억건의 레코드가 B-Tree 대비 Fractal Tree는1,000배 빠름. 4. 압축을 해서 저장하기 때문에 디스크 절약도 가능.
  • 46. MariaDB 서버 구축하기 ■ MariaDB Storage 엔진 소개 - Memory 1. Heap 스토리지 엔진이라고도 함. 2. 데이터의 크기가 작고 아주 빠른 처리가 필요한 경우 적합함. 3. MEMORY 엔진도 Table 단위의 Lock만 지원. 4. 고정길이 칼럼만 지원되며 LOB타입 지원 안됨. 5. 주요 사용 용도는 임시 테이블로 많이 사용됨.
  • 47. MariaDB 서버 구축하기 ■ MariaDB Storage 엔진 소개 - InnoDB(XtraDB)
  • 48. MariaDB 서버 구축하기 ■ MariaDB Storage 엔진 소개 - InnoDB(XtraDB) Buffer Pool Prefetcher, Cleaner Table Space Disk 읽기 쓰기Prefetcher : 읽기에 사용되는 DBMS I/O Cleaner : 쓰기에 사용되는 DBMS I/O Client Query MariaDB Engine
  • 49. MariaDB 서버 구축하기 ■ MariaDB Storage 엔진 소개 - InnoDB(XtraDB) 1. 프라이머리 키에 의한 클러스터링 기본적으로 프라이머리 키를 기준으로 클러스터링 되어 저장. 2. 잠금이 필요 없는 일관된 읽기(Non-locking consistent read) MVCC라는 기술을 이용해 락을 걸지 않고 읽기 작업을 수행(Undo 활용) 3. 외래 키 지원 4. 자동 데드락 감지 5. 자동화된 장애 복구 6. 오라클의 아키텍처 적용 Oracle DBMS와 비슷한 부분이 많다.(UNDO, SYSTEM TBS, TBS 등)
  • 50. MariaDB 서버 구축하기 ■ MariaDB Architecture 소개 Engine Storage Hardware
  • 51. MariaDB 서버 구축하기 ■ MyISAM(Aria) 트랜잭션이 작고 이용자가 별로 없다면 MyISAM 백업이 쉽다. - Mariadb 서버를 내리고 파일을 그대로 복사하면 백업 완료. 물론 mysqldump를 이용한 Backup 가능. 또한 내부적으로 대량 정렬때 이 Storage Engine이 사용됨. ■ InnoDB(XtraDB) - 기본 Default!!!!!!! Oracle에서 Engine 단위에서 지원되는 대부분의 기능을 지원한다. MVCC를 이용한 특성 때분에 대부분 이 Storage Engine으로 Table을 생성한다. OLTP서버(대표적으로 Web용 Database)로 이용된다. ■ 결론 - 어떤 Storage Engine 을 사용할 것인가?
  • 52. MariaDB 서버 구축하기 ■ 결론 - 어떤 Storage Engine 을 사용할 것인가? ■ Memory Memory Storage는 메모리를 이용한 Storage로 임시 테이블이나 고속의 속도를 요구 할 때 쓰이는 Storage Engine이다. 그러나 Memory Storage에서 알 수 있듯이 직접 물리 메모리를 할당하는 Engine으로 서 MariaDB 서버가 내려가거나 서버 Rebooting시 소멸된다. 내부적으로 일정량의 정렬이 일어날시 임시적으로 사용되기도 함. ■ TokuDB SNS기반의 대용량 테이블, 실시간 웹페이지 분석, 웹서버나 게임 서버의 로그분석 고성능 웹 클롤링, Datawarehouse같은 곳에 이용하면 좋다.
  • 53. MariaDB 서버 구축하기 3. 부하를 분산시켜라!!!! Master - Slave 구조
  • 54. MariaDB 서버 구축하기 ■ Master - Slave 구조 1. 사업이 잘되어 신규 부서가 생기고 신규 업무가 점점 늘어나 고 있습니다. 데이터가 점점 쌓이고 시스템 부하가 높아지고 있습니다. 2. 주서버가 장애가 생길때를 대비해 여유서버를 만들어 두기 는 했는데 이 서버를 이용해서 부하 분산을 시도해 야 할 것 같습니다. 3. 여유 서버를 활용할 방법을 알아봅니다.
  • 55. MariaDB 서버 구축하기 Insert Update Delete Select ■ Master - Slave 구조 ▪ 기초 환경 설정
  • 56. MariaDB 서버 구축하기 1. Master - Slave구조를 다른 말로 복제기술이라 고 합니다. Master의 데이터를 Slave에 똑같이 복제하기 때문입니다. 2. 복제를 이용하기 위해선 다음과 같은 선제조건 이 충족되어야 합니다. 3. 트랜잭션 지원, Lock 지원이 필수 기본 Storage Engine 중 TokuDB, InnoDB, MyISAM Storage가 지원됨. ■ Master - Slave 구조 ▪ 기초 환경 설정
  • 57. MariaDB 서버 구축하기 1. 앞에서 배웠던 내용을 토대로 MariaDB 서버 를 한대 더 준비합니다. 2. Master DB를 백업 후 Slave서버에 Restore 합니다. 3. Master가 될 서버에 slave가 사용할 User 하 나를 추가합니다. 이 계정을 이용해서 Master 서버의 DML내용을 Slave서버로 복제합니다. ■ Master - Slave 구조 ▪ 기초 환경 설정 - 순서
  • 58. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ MariaDB 서버 환경설정 Master Slave Server-id = 1 log-bin = master_1_bin sync_binlog = 5M max_binlog_size = 512M log-bin-trust-function-creators = 1 server-id = 2 relay-log = slave_1_bin relay_log_purge = TRUE read_only - /etc/my.cnf.d/server.cnf 환경파일 설정 - [mysqld] 라는 섹션에 추가해 줍니다.
  • 59. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ MariaDB 서버 환경설정 - /etc/my.cnf.d/server.cnf 환경파일 설정 - [mysqld] 라는 섹션에 추가해 줍니다.
  • 60. MariaDB 서버 구축하기 1. Master 서버 - Database 백업 [root@mdb01 MariaDB] # mysqldump -uroot -p암호 hadb > DB이름.sql 2. Slave 서버 - 위에서 백업한 Database dump를 슬레이브로 가져옴. - 데이터 베이스 생성 mysql> create database hadb - Database dump를 Import [root@mdb01 MariaDB] # mysql -uroot -p암호 hadb < DB이름.sql ■ Master - Slave 구조 ▪ Database Backup & Restore
  • 61. MariaDB 서버 구축하기 1. Master 서버에서 실행 2. User 추가 및 권한 설정 Master 서버에서 설정 mysql> create user 'repl_user'@'%' identified by 'slavepass'; mysql> grant replication slave on *.* to ‘repl_user'@'%'; 3. 현제 Log Position 확인 show master statusG; 현제 Log File 이름 및 Log Position 확인. ■ Master - Slave 구조 ▪ 복제용 계정 설정 및 Master Log Position 확인
  • 62. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 복제 서버 설정 1. Slave 서버에서 설정 2. 복제 환경 설정 mysql> change master to master_host='192.168.0.100', master_user='repl_user', master_password='templer', master_port=3306, master_log_file='master_1_bin.00005', master_log_pos=247883551;
  • 63. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 복제 서버 설정 1. Slave 서버에서 확인 2. 복제 준비가 되었는지 확인 mysql > show slave statusG; ...... Slave_IO_Running: No Slave_SQL_Running: No ...... Seconds_Behind_Master: NULL ......
  • 64. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 복제 서버 설정
  • 65. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 기초 환경 설정 1. Slave에서 복제 기동 2. 복제가 활성화 되었는지 확인 mysql > start slave; mysql > show slave statusG; ...... Slave_IO_Running: YES Slave_SQL_Running: YES ...... Seconds_Behind_Master: 238 ......
  • 66. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 복제 서버 설정
  • 67. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 초간단 모니터링 1. Slave 서버에서 실행 2. 모니터링 중점사항 mysql > start slave; mysql > show slave statusG; ...... Slave_IO_Running: YES Slave_SQL_Running: YES ...... Seconds_Behind_Master: 238 …… 3. 항상 Slave_IO, SQL Running이 Yes여야 하며, Seconds_Behind_Master가 0에 가까 워야 한다. Seconds_Behind_Master가 숫자가 떨어지지 않고 오히려 올라간다면 IO나 SQL혹은 기타 문제이므로 에러로그나 기타 문제를 체크해봐야 한다.
  • 68. MariaDB 서버 구축하기 ■ Master - Slave 구조 ▪ 실습 1. Benchmark SQL을 이용한 부하 데모 2. Master 혹은 Slave 서버가 죽은 가정을 하여 복구 실습
  • 69. MariaDB 서버 구축하기 ■ 좀더 진화된 Master - Slave Master DB 1개, 여러개의 Slave로 복 제하는 방법. SQL의 대부분은 조회성 데이터이기 때문에 Slave를 여러개 두 어 부하를 분산시킨다. ▪ Multi Slave
  • 70. MariaDB 서버 구축하기 4. 자동화 툴 MariaDB High Available
  • 71. MariaDB 서버 구축하기 ■ MariaDB High Available 1. 친구 혹은 지인들과 회식자리중 서버가 문제가 생겼습니다. 자 리를 파하고 회사로 출근을 합니다. 3. 로그번호와 포지션을 확인하고 복구를 합니다. 5. 만약 이게 자동화로 되어있으면 편할텐데라는 상각을 해보게 됩니다. 자동화로 되어있으면 자동으로 복구가 되고 서비스는 계속 수행이 가능할텐데요. 7. 보시는바와같이 master-slave 구조는 자동으로 복구가 되지 않아 사람의 손이 필요합니다. 자동으로 복구되는 시스템을 알 아봐야 하겠습니다. 8. MHA(MariaDB[MySQL] High Available)
  • 72. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ 기본개념 1. Master - Slave 상황에서 운영중 만약 Master 서버가 장애를 일으키면 Slave서 버중 한개를 Master로 승격시켜 DML을 받을 수 있도록 무중단 서비스를 하는것 이 바로 MHA[MariaDB High Available] 의 기능입니다. 2. Slave서버가 장애가 난다면 기존 슬레이 브 서버들이 2-3개 이상 있으므로 운영 하는데 문제는 없습니다.
  • 73. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ 구성환경 Master Slave 1 Slave 2 Manager
  • 74. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ 구성환경 - 서버 환경 Master Slave 1 Slave 2 Manager IP 192.168.0.100 192.168.0.110 192.168.0.120 192.168.0.130 HOSTNAME mdb01 sdb01 sdb02 manager Role Master Slave 1번 Slave 2번 HA 서버
  • 75. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ OS 기초 환경 설정 1. MHA를 설치하기 전에 OS에 한가지 설정을 해야 합 니다. 그건 바로 SSH 설정입니다. 2. 서버끼리 암호없이 로그인이 가능하도록 만들어야 합니다. 그것을 전문용어로 Trust되었다고 합니다.
  • 76. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ SSH trust 설정 - 1 1. ssh-keygen ssh-keygen명령어로 개인키를 생성합니 다. 위의 명령어 입력후 엔터키를 3번 입 력하면 자동으로 만들어 집니다.
  • 77. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ SSH trust 설정 - 2 2. ssh-copy-id root@192.168.0.x ssh-copy-id 명령어로 개인키 복사를 시도하면 접속을 계속 시도하겠냐고 물 어봅니다. yes를 입력해주면 서버의 암호를 물어보는데 암호를 입력해주면 복 사를 하게 됩니다. 위와같은 방법으로 자신 서버 이외에 모든 서버에 복사해 줍니다.
  • 78. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ SSH trust 설정 - 3 3. ssh root@192.168.0.x ssh 명령어로 원격 로그인을 각 서버에 시도해 봅니다. 암호를 물어보지 않고 바로 로그인이 된다면 trust된 것입니다.
  • 79. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MariaDB 추가 환경 설정 1. Slave 서버의 server.cnf 에 다음 사항을 추가해 줍니다. vi /etc/my.cnf.d/server.cnf log-bin = master_1_bin relay_log_purge=0
  • 80. MariaDB 서버 구축하기 ▪ MHA 설치 및 환경구성 ■ MariaDB High Available 1. Download https://code.google.com/p/mysql-master-ha/wiki/Downloads?tm=2 2. 다음의 파일들을 다운로드 받습니다.
  • 81. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 설치 및 환경구성 1. 필요패키지 perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
  • 82. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 설치 및 환경구성 2. MHA 설치 Manager Node rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm Master, Slave Node rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm Manager node는 Manager, Node rpm 두개를 설치하고 이외 다른 노드는 node rpm만 설치합니다.
  • 83. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 설치 및 환경구성 3. 공통 디렉토리 생성 mkdir /var/log/masterha 4. Configuration File 설정 Manager 서버에만 설정한다. /etc/MHA/MHA.cnf 파일로 만들고 안에 다음과 같이 입력
  • 84. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 환경 테스트 1. ssh 테스트 masterha_check_ssh --conf=/etc/MHA/MHA.cnf
  • 85. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 환경 테스트 2. Master - Slave 복제 테스트 masterha_check_repl --conf=/etc/MHA/MHA.cnf
  • 86. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 환경 테스트 3. MHA 데몬 실행 nohup masterha_manager --conf=/etc/MHA/MHA.cnf < /dev/null > /var/log/masterha/ manager.log 2>&1 & 4. MHA 상태 확인 nohup masterha_check_status --conf=/etc/MHA/MHA.cnf
  • 87. MariaDB 서버 구축하기 ■ MariaDB High Available ▪ MHA 테스트 1. 장애 상황 발생 Master Server Fail 인위적으로 Master Server의 MariaDB 프로세스 종료 2. MHA Log 확인 3. Slave Server의 Master 승격 여부 확인. Master Server 에서 다음의 명령어를 입력 show master statusG;
  • 88. MariaDB 서버 구축하기 ▪ MMM - Multi Master Replication Manager for MySQL[MariaDB] ■ MariaDB High Available
  • 89. MariaDB 서버 구축하기 5. 고급진 기술 Galera Cluster
  • 90. MariaDB 서버 구축하기 ■ DBMS 문제 발생. 1. Master - Slave 구조 한가지 구조적인 문제가 있습 니다. 2. Master Server에서 입력된 DML이 Slave서버에 실 시간으로 반영이 지연될 수 있습니다. 3. 이 지연시간을 예방할 수 있는 있는 방법이 있습니다
  • 91. MariaDB 서버 구축하기 ■ DBMS 문제 발생.
  • 92. MariaDB 서버 구축하기 ■ DBMS 문제 발생. ▪ 클러스터링이란??? 가용할 수 있는 여러대의 서버를 가지고 있거나 인스턴스를 가지고 있는 하나의 데이터 베이스다. 인스턴스란 하나의 데이터베이스에서 서로 상호작용하는 메모리와 프로 세스의 집합체이다. 이것은 실질적으로 저장되어 있는 하나의 물리적 데이터 집합체이다.
  • 93. MariaDB 서버 구축하기 여러대의 서버중에서 한두대가 장애가 일어나더라도 마찬가지로 계속적 인 서비스가 가능하다. 서버간 실시간 동기화가 되기 때문에 여러대의 서버중 어떤 서버에서 접 속을 하던 같은 데이터를 입력 및 조회를 할수가 있다. ■ DBMS 문제 발생. ▪ 클러스터링이란???
  • 94. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 환경설정 1. 설치 서버 환경 OS : CentOS 6.5 MaraiDB : 10.1.9 IP : 1번 노드 - 192.168.0.100 2번 노드 - 192.168.0.110 3번 노드 - 192.168.0.120
  • 95. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 환경설정 2. MariaDB 및 서버 준비사항 1장에서 배운 MariaDB서버 설치 방법을 참고 3대에 모두 설치한다. 3대 모두 MariaDB 서버가 정상적으로 시작되고 종료되는지 체크한다. /etc/init.d/mysql start /etc/init.d/mysql stop MariaDB를 기동하여 3대서버에 모두 다음과 같은 계정을 추가해준다. grant all privileges on *.* to 'root'@'192.168.0.100' identified by 'templer'; grant all privileges on *.* to 'root'@'192.168.0.110' identified by 'templer'; grant all privileges on *.* to 'root'@'192.168.0.120' identified by ‘templer'; 모든 환경설정이 끝났으면 MariaDB를 모두 종료한다. /etc/init.d/mysql stop 모든 방화벽을 풀고 Selinux를 Disabled 시킨다. /etc/init.d/iptables stop setenforce 0
  • 96. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 환경설정 3. 1번 Node 편집 /etc/my.cnf.d/server.cnf
  • 97. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 환경설정 4. 2번 Node 편집 /etc/my.cnf.d/server.cnf
  • 98. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 환경설정 5. 3번 Node 편집 /etc/my.cnf.d/server.cnf
  • 99. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 환경설정 6. 편집시 유의사항 모든Node의 모든 파라미터는 위의 모든 내용이 기본적으로 있어야 한다. bind-address는 해당 Node의 IP를 입력한다. wsrep_sst_receive_address는 해당 Node의 IP를 입력한다. wsrep_sst_auth는 해당 Node의 MariaDB 계정과 암호를 입력한다.
  • 100. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 1. 기동순서 : 1번 Node 1번 Node에 모든 데이터가 있다고 가정한다. 데이터를 보유하고 있는 Node를 다른말로 Donor Node라고 한다. Galera Cluster에서는 이 Donor Node를 제일 먼저 시작해야 한다. Donor Node란 뜻은 데이터 증여자로 Donor Node외 모든 Node는 이 Donor Node에서 최초 기동시 모든 데이터를 받는 다. 1번 Node에서 /etc/my.cnf.d/server.cnf에서 wsrep_cluster_address를 다음과 같이 입력한다. wsrep_cluster_address=“gcomm://" 즉 아무런 IP도 입력하지 않고 기동한다. 최초 기동시는 어떠한 서버도 접속할 서버가 없기 때문 에 IP가 빈 상태에서 서버를 기동한다.
  • 101. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 2. 기동순서 : 1번 Node 1번 Node를 시작한다. /etc/init.d/mysql start --wsrep-new-cluster MariaDB 최초 기동시 위의 명령으로 기동한다. 처음 한번만 위와같이 입력하고 다음에 시작시 저 명령어를 입력하지 않는다. 만약 엉뚱한 노드에서 실행시 데이터가 모두 삭제될 위험이 있으 니 반드시 Donor Node - 1번 Node에서 시작하여야 한다.
  • 102. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 3. 기동순서 : 1번 Node - 기동확인 MariaDB에 접속하여 다음 내용을 확인한다. mysql -uroot -ptempler : MariaDB 접속 mysql> show status where Variable_name like ‘%wsrep%'; … | wsrep_cluster_conf_id | 1 | wsrep_cluster_size | 1 … | wsrep_ready | ON | wsrep_incoming_addresses | 192.168.0.100:3306 …
  • 103. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 4. 기동순서 - 2번 Node 1번 Node에서 /etc/my.cnf.d/server.cnf에서 wsrep_cluster_address를 다음과 같이 입력한다. wsrep_cluster_address="gcomm://192.168.0.100" gcomm에 1번 Node의 IP를 입력한다. MariaDB기동한다. /etc/init.d/mysql start
  • 104. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 5. 기동순서 : 2번 Node - 기동확인 MariaDB에 접속하여 다음 내용을 확인한다. mysql -uroot -ptempler : MariaDB 접속 mysql> show status where Variable_name like ‘%wsrep%'; … | wsrep_cluster_conf_id | 2 | wsrep_cluster_size | 2 … | wsrep_ready | ON | wsrep_incoming_addresses | 192.168.0.110:3306,192.168.0.100:3306 …
  • 105. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 6. 기동순서 - 3번 Node 1번 Node에서 /etc/my.cnf.d/server.cnf에서 wsrep_cluster_address를 다음과 같이 입력한다. wsrep_cluster_address=“gcomm://192.168.0.110,192.168.0.120" gcomm에 1,2번 Node의 IP를 입력한다. MariaDB기동한다. /etc/init.d/mysql start
  • 106. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 7. 기동순서 : 3번 Node - 기동확인 MariaDB에 접속하여 다음 내용을 확인한다. mysql -uroot -ptempler : MariaDB 접속 mysql> show status where Variable_name like ‘%wsrep%'; … | wsrep_cluster_conf_id | 3 | wsrep_cluster_size | 3 … | wsrep_ready | ON | wsrep_incoming_addresses | 192.168.0.110:3306,192.168.0.120:3306,192.168.0.100:3306 …
  • 107. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 기동방법 8. 모든 Node 확인 각 Node의 MariaDB에 접속하여 다음 내용을 확인한다. mysql -uroot -ptempler : MariaDB 접속 mysql> show status where Variable_name like ‘%wsrep%'; … | wsrep_cluster_conf_id | 3 | wsrep_cluster_size | 3 … | wsrep_ready | ON | wsrep_incoming_addresses | 192.168.0.110:3306,192.168.0.120:3306,192.168.0.100:3306 … 즉 3번노드에서 확인것처럼 wsrep_incoming_address에 모든 Node의 IP가 표시된다.
  • 108. MariaDB 서버 구축하기 ■ Galera Cluster ▪ Galera Cluster 테스트 1. Galera Cluster 테스트 하나의 Node에서 테이블을 생성해보고 모든 노드에 생성되는지 확인 하나의 Node에서 만들어진 테이블에 데이터를 넣어보고 모든 Node에 적용되는지 확인.