본문 바로가기

MySQL, MariaDB

MariaDB MHA 이중화 구성 MariaDB single 구성한 경험은 여러번 있었지만, 이중화 구성은 좀처럼 기회가 없었다. 하지만, 운 좋게도 구성할 기회가 생겨 이번에 정리하게 되었다. 내가 확인한 이중화 구성의 종류에는 6가지 종류가 있다. master - slave의 replication 구조 MHA + replication를 활용한 이중화 구조 MaxScale + replication을 활용한 이중화 구조 공유 볼륨과 클러스터 솔루션(리눅스 클러스터)을 사용한 이중화 구조 Replication과 Galera Cluster를 사용한 이중화 구조 block 복제 솔루션(ArcServe)를 활용한 이중화 구조 일반 replication 이중화 구성의 경우에는 구축이 쉽기도 하고 MHA와 MaxScale을 활용한 이중화 구성에 r.. 더보기
MariaDB SQL튜닝 사례-1 2020년 상반기에는 MariaDB 백업복구, 리플리케이션 테스트를 하면서 경험치를 쌓기 시작했다. 이 부분은 차차 업데이트를 하기로 하고... 오늘은 MariaDB SQL튜닝 사례에 대해 기록하려 한다. 작년 하반기에 기술세미나를 진행하면서 주제를 "MariaDB 성능개선 사례"로 선택했었는데... 혼자 Zabbix MariaDB 개선해보겠다고 야근까지 올려가며 노력했던 기억이 난다. ㅠㅠ 다시 생각해보니 조금 무모했지만...시간이 흐른 지금 돌아보니 피가 되고 살이 되었던 것 같다. Oracle, Tibero에서는 SQL튜닝을 많이 해보았지만, MariaDB에서는 경험이 없어서 막막하기만 했다. 하지만, 사막 가운데서도 살아남는 생물체들이 있지 않는가!! 회사 내에 도움을 줄 수 있는 사람이 없었지만.. 더보기
MariaDB에서 테이블스페이스란? Oracle DBA로 익숙해져 있어서 그런지, MariaDB에서의 Tablespace가 명확히 와닿지 않는다. 오라클은 흔히 알다시피 논리적 개념으로 1개의 테이블스페이스에 1개 이상의 데이터파일들이 매핑될 수 있다. 분명 오라클처럼 Tablespace는 존재하는 것 같은데 MariaDB의 테이블스페이스는 어떻게 다를까? 우리가 트랜잭션을 제대로 관리하기 위해 쓰는 기본 데이터베이스 엔진은 InnoDB이므로 InnoDB에서의 테이블스페이스에 대해 정리해보고자 한다. InnoDB 스토리지 엔진을 사용하는 테이블은 "테이블스페이스"라는 데이터파일 디스크에 기록된다. 각 테이블스페이스는 하나 이상의 InnoDB, 테이블과 관련된 인덱스 데이터를 포함할 수가 있다. InnoDB에서는 아래와 같이 크게 3가지로 .. 더보기
MariaDB - 데이터베이스 및 사용자 생성 1.1 데이터베이스 및 사용자 생성 MariaDB가 설치되면서 자동으로 또는 mysql_install_db라는 유틸리티에 의해서 기본적으로 몇 개의 데이터베이스와 테이블이 생성된다. 또한, 기본 데이터베이스와 함께 처음 MariaDB 서버에 접속할 수 있는 사용자 계정이 생성된다. 오늘은 기본적으로 생성되는 데이터베이스와 테이블 그리고 사용자 계정을 알아보도록 한다. 물론, 데이터베이스와 계정 생성 방법도 말이다. 1.1.1. MariaDB의 사용자 계정 인식과 권한 사용자 계정에 있어 다른 RDBMS와 차이가 조금 있다면 유저 이름 뿐만 아니라 유저가 접속을 시도하는 클라이언트(IP)도 인증의 일부가 된다는 것이다. 또한 이로 인해 MariaDB 서버 연결에서 문제가 발생하기로 하므로 주의하여 관리하도.. 더보기
MariaDB 기동 및 서버 로그인 3.1. 서버 시작 및 종료 3.1.1.1. 리눅스에서 MariaDB 서버의 시작과 종료 MariaDB 서버를 리눅스의 서비스로 등록하는 방법과 그렇지 않고 mysqld_safe 스크립트를 이용해서 직접 기동하는 방법은 실제 MariaDB 서버가 작동하는 방식에 영향을 미치지는 않는다. 하지만, 운영 환경의 MariaDB에서는 서비스로 등록해서 자동으로 MariaDB가 종료되고 시작될 수 있도록 해주는 것이 일반적이다. 3.1.1.1.1. 서비스로 등록된 경우 RPM으로 MariaDB 서버를 설치했다면 자동으로 /etc/init.d/ 디렉토리에 mysql이라는 이름의 MariaDB 서버 초기화 스크립트와 함께 설치된다. 또한 자동으로 각 초기화 레벨(리눅스 init 레벨)에 맞게 MariaDB 서버가 자.. 더보기
MariaDB Enterprise Server 버전별 feature summary 오픈소스의 장점 중에는 "기술발전 속도가 빠르다"는 장점이 있다. 텍스트로 받아들였을 때는, "마냥 좋은 점이로구나" 생각했었는데... MariaDB DBMS를 공부하고 운영하는 입장에서는 부담으로 다가오는 것 같기도 하다. 오라클이 1, 2년에 걸쳐 새로운 new feature가 나온다면, MariaDB는 거의 분기별로 새로운 new feature가 나오는 듯 하다. 분명 장점인데...내가 40대가 넘어서도 이 속도를 따라갈 수 있을지 의문이 들기도 한다. 그래도 새로운 것을 학습하길 좋아하는 나로서는 "할 수 있다" 정신으로 또 한 발 내딛는다. 100번의 걱정을 하기보다는 1번의 공부를 하겠다. 이번에는 2020년 03월 기준의 MariaDB Enterprise Server의 버전별 New Feat.. 더보기
MariaDB Administration - 백업과 복구 개요 MariaDB Administration - 백업과 복구 개요 Contents 1. Logical vs Physical Backups 2. Backup Tools | +- 2-1. MariaBackup | +- 2-2. mysqldump | +- ----2-2-1. InnoDB Logical Backups | +- ----2-2-2. Examples | +- 2-3. mysqlhotcopy | +- ----2-3-1. Examples | +- 2-4. Percona XtraBackup | +- 2-5. Filesystem Snapshots | +- 2-6. LVM 백업 및 복원 개요 이번 포스팅에서는 MariaDB를 백업하는 주요 방법에 대해 간단히 알아보도록 합니다. 1. 논리적 vs 물리적 Backu.. 더보기
MariaDB - Architecture 이해 MariaDB 아키텍처 이해 1. 스토리지 엔진 2. 데이터베이스 | +- 2-1. SYSTEM 데이터베이스 | +- 2-2. DEFAULT 데이터베이스 3. binary log 4. plugin 5. thread pool 6. 구성 | +- 6-1. 동적 및 정적 변수 | +- 6-2. 범위 | +- 6-3. syntax | +- 6-4. 설정파일들 | +- 6-5. startup관련 파라메터로 시스템 변수 세팅 | +- 6-6. 디버깅 설정 7. 상태 변수 MariaDB 아키텍처는 SQL Server와 같은 기존 DBMS 아키텍처와 부분적으로 다릅니다. 그럼 어떻게 다른지 알아볼까요? 우린 MariaDB DBA가 알아야 할 주요 구성 요소를 살펴볼 것입니다. MariaDB 철학과 특정 디자인 선택을 .. 더보기