MySQL & Maria
-
■ Multi Source Replication이란? MySQL MSR은 기본 Replication구조에서 확장된 개념으로 Binary Log를 기본으로 하여 각각의 마스터를 CHANNEL로 연결하여 Replicate 하는 구조입니다. 각각의 CHANNEL을 통해 Master / Slave 간 연결을 하고, 이 CHANNEL은 Replication 연결에 사용되는 Thread(IO, SQL, Worker 및 Coordinator 등)들을 관리합니다. ■ 사용 용도? 예를 들어서 어떤 시스템이 공통DB, 메인DB, 로그DB로 구성되어 있고 로그DB는 여러개로 샤딩(Sharding)되어 물리적으로 다른 장비에서 서비스를 하고있다고 생각해 볼 수 있습니다. 그런데 어떤 지표를 보기 위해서 모든 DB에서 한방에..
[MySQL] MSR ( Multi Source Replication )■ Multi Source Replication이란? MySQL MSR은 기본 Replication구조에서 확장된 개념으로 Binary Log를 기본으로 하여 각각의 마스터를 CHANNEL로 연결하여 Replicate 하는 구조입니다. 각각의 CHANNEL을 통해 Master / Slave 간 연결을 하고, 이 CHANNEL은 Replication 연결에 사용되는 Thread(IO, SQL, Worker 및 Coordinator 등)들을 관리합니다. ■ 사용 용도? 예를 들어서 어떤 시스템이 공통DB, 메인DB, 로그DB로 구성되어 있고 로그DB는 여러개로 샤딩(Sharding)되어 물리적으로 다른 장비에서 서비스를 하고있다고 생각해 볼 수 있습니다. 그런데 어떤 지표를 보기 위해서 모든 DB에서 한방에..
2021.11.23 -
■ MySQL Binary File Download MySQL Commucity 버전으로 다운받기 위해서 아래 링크로 접속 www.mysql.com/products/community/ MySQL :: MySQL Community Edition MySQL Community Edition MySQL Community Edition is the freely downloadable version of the world's most popular open source database. It is available under the GPL license and is supported by a huge and active community of open source developers. The MySQL www.my..
[MySQL] MySQL_8.0 Binary Install■ MySQL Binary File Download MySQL Commucity 버전으로 다운받기 위해서 아래 링크로 접속 www.mysql.com/products/community/ MySQL :: MySQL Community Edition MySQL Community Edition MySQL Community Edition is the freely downloadable version of the world's most popular open source database. It is available under the GPL license and is supported by a huge and active community of open source developers. The MySQL www.my..
2021.11.10 -
innodb_flush_log_at_trx_commit 파라미터는 Transaction이 Commit되었을때 디스크에 저장되는 방법을 지정하는 변수이다. 해당 파라미터를 이용해서 Insert 작업 성능을 높일 수 있다. * innodb_flush_log_at_trx_commit = 0 -MySQL 서버에 문제가 생기면 마지막 1초의 Transaction 유실 발생 * innodb_flush_log_at_trx_commit = 1 - Default 값으로 데이터 유실 발생하지 않는다. * innodb_flush_log_at_trx_commit =2 - OS가 crash되거나 파워가 나가면 마지막 1초(혹은 그 이상..)의 트랜잭션이 유실될 수 있습니다. ■ innodb_flush_log_at_trx_com..
[MySQL / Maria] Innodb_flush_log_at_trx_commitinnodb_flush_log_at_trx_commit 파라미터는 Transaction이 Commit되었을때 디스크에 저장되는 방법을 지정하는 변수이다. 해당 파라미터를 이용해서 Insert 작업 성능을 높일 수 있다. * innodb_flush_log_at_trx_commit = 0 -MySQL 서버에 문제가 생기면 마지막 1초의 Transaction 유실 발생 * innodb_flush_log_at_trx_commit = 1 - Default 값으로 데이터 유실 발생하지 않는다. * innodb_flush_log_at_trx_commit =2 - OS가 crash되거나 파워가 나가면 마지막 1초(혹은 그 이상..)의 트랜잭션이 유실될 수 있습니다. ■ innodb_flush_log_at_trx_com..
2021.11.10 -
언제 한번 이중화로 구성된 고객사에 Lock이 심하게걸리고 문제가 생긴적이있다. 해당 Lock을 해결하고나서 Slave에 상태를 보니 Lock이후부터 따라가지 못하고있는것을 확인하였다. 여러가지 확인을 해보다 Master DB쪽의 binary log의 사이즈가 비정상적으로 컸던적이있다. 나의 예상으론 Binary log에 큰 트랜잭션들이 들어갔고 이 값을 max_allowed_packet 보다 커서 보내지 못한걸로 생각하였다. 나의 경우에는 Mariabackup을 이용해서 Replication을 재설정하였다. 이번에는 문제가 발생했던 영역인 Max_binlog_size 를 작게하였음에도 Binary log 사이즈가 커지는 것을 테스트해볼 생각이다. ■ max_binlog_size 확인 MariaDB [(..
[Maria] max_binlog_size 이슈언제 한번 이중화로 구성된 고객사에 Lock이 심하게걸리고 문제가 생긴적이있다. 해당 Lock을 해결하고나서 Slave에 상태를 보니 Lock이후부터 따라가지 못하고있는것을 확인하였다. 여러가지 확인을 해보다 Master DB쪽의 binary log의 사이즈가 비정상적으로 컸던적이있다. 나의 예상으론 Binary log에 큰 트랜잭션들이 들어갔고 이 값을 max_allowed_packet 보다 커서 보내지 못한걸로 생각하였다. 나의 경우에는 Mariabackup을 이용해서 Replication을 재설정하였다. 이번에는 문제가 발생했던 영역인 Max_binlog_size 를 작게하였음에도 Binary log 사이즈가 커지는 것을 테스트해볼 생각이다. ■ max_binlog_size 확인 MariaDB [(..
2021.10.26 -
MariaDB와 MySQL은 사용자의 액세스를 기록해야하는 경우 이전에는 데이터베이스 솔루션을 사용해야 했다. 그러나 현재는 Audit log 플러그인을 이용해서 액세스 기록을 할 수 있게되었다. 기본적으로 MariaDB Audit 플러그인의 목적은 서버의 활동을 기록하는 것으로, 각 클라이언트 세션에 대해 누가 서버에 접속했는지 ( 사용자 / 호스트 ) 쿼리 내용, 엑세스한 테이블을 기록하는 것이다. MariaDB 감사 플러그인은 MariaDB, MySQL(버전 5.5.34 및 10.0.7 현재) 및 Percona Server에서 작동합니다. MariaDB는 기본적으로 버전 10.0.10 및 5.5.37의 감사 플러그인을 포함하기 시작했으며 MariaDB 5.5.20의 모든 버전에 설치할 수 있습니다 ..
[ Maria ] DB 접근 관리 Aduit_logMariaDB와 MySQL은 사용자의 액세스를 기록해야하는 경우 이전에는 데이터베이스 솔루션을 사용해야 했다. 그러나 현재는 Audit log 플러그인을 이용해서 액세스 기록을 할 수 있게되었다. 기본적으로 MariaDB Audit 플러그인의 목적은 서버의 활동을 기록하는 것으로, 각 클라이언트 세션에 대해 누가 서버에 접속했는지 ( 사용자 / 호스트 ) 쿼리 내용, 엑세스한 테이블을 기록하는 것이다. MariaDB 감사 플러그인은 MariaDB, MySQL(버전 5.5.34 및 10.0.7 현재) 및 Percona Server에서 작동합니다. MariaDB는 기본적으로 버전 10.0.10 및 5.5.37의 감사 플러그인을 포함하기 시작했으며 MariaDB 5.5.20의 모든 버전에 설치할 수 있습니다 ..
2021.10.25 -
오늘은 MariaDB Version을 Upgrade 하는 것에 대해 포스팅할 예정이다. https://mariadb.com/kb/en/upgrading-from-mariadb-101-to-mariadb-102/ Upgrading from MariaDB 10.1 to MariaDB 10.2 How to upgrade from MariaDB 10.1 to MariaDB 10.2. mariadb.com 기존 DB Version : 10.1.45-MariaDB 업그레이드 DB Version : 10.2.12-MariaDB ■현재 DB 상태 - Sakila Database를 넣어 두었다. MariaDB [(none)]> show databases; +--------------------+ | Database | ..
[Maria] Maria DB Upgrade오늘은 MariaDB Version을 Upgrade 하는 것에 대해 포스팅할 예정이다. https://mariadb.com/kb/en/upgrading-from-mariadb-101-to-mariadb-102/ Upgrading from MariaDB 10.1 to MariaDB 10.2 How to upgrade from MariaDB 10.1 to MariaDB 10.2. mariadb.com 기존 DB Version : 10.1.45-MariaDB 업그레이드 DB Version : 10.2.12-MariaDB ■현재 DB 상태 - Sakila Database를 넣어 두었다. MariaDB [(none)]> show databases; +--------------------+ | Database | ..
2021.10.11 -
이번에 MariaDB Galera를 사용하고 있는 고객사에서 Memory 관련 문의가 들어오게 되면서 Memory부분을 공부해보게 되었다. ■ MariaDB Memory 종류 - MariaDB Memory는 두가지로 분류가된다. 모든 세션이 공유하고 사용하는 Global Memory 영역과 각각의 세션들별로 사용되는 Session Memory영역이 있다. ■ Global Memory 영역 DB가 최초 기동되었을 때에는 메모리를 최소한만 사용하다가 설정된 값 까지 증가하며 증가한 이후에는 "메모리를 반환하지 않고" 설정 된 값 이내에서 계속 사용됩니다. (오라클의 경우 DB기동시 설정된 값 만큼 메모리를 할당 받고 올라가는 반면 Mariadb 는 기동시 설정된 메모리 값만큼 할당 받는것이 아닌 설정된 값 ..
[MariaDB] MariaDB Memroy 튜닝가이드이번에 MariaDB Galera를 사용하고 있는 고객사에서 Memory 관련 문의가 들어오게 되면서 Memory부분을 공부해보게 되었다. ■ MariaDB Memory 종류 - MariaDB Memory는 두가지로 분류가된다. 모든 세션이 공유하고 사용하는 Global Memory 영역과 각각의 세션들별로 사용되는 Session Memory영역이 있다. ■ Global Memory 영역 DB가 최초 기동되었을 때에는 메모리를 최소한만 사용하다가 설정된 값 까지 증가하며 증가한 이후에는 "메모리를 반환하지 않고" 설정 된 값 이내에서 계속 사용됩니다. (오라클의 경우 DB기동시 설정된 값 만큼 메모리를 할당 받고 올라가는 반면 Mariadb 는 기동시 설정된 메모리 값만큼 할당 받는것이 아닌 설정된 값 ..
2021.10.08 -
Maria & Mysql 모두 Thread 방식의 아키텍처로 설계되어있다. Client가 접속하게되면 Thread를 할당해주고 접속이 종료되면 할당했던 Thread를 회수하게 됩니다. 클라이언트가 접속할 때마다 스레드를 할당하고 제거하는 작업은 MySQL 서버 시스템 입장에서 보면 많은 리소스 낭비 및 성능 저하를 발생시키기 때문에 모니터링은 매우 중요한다. 오늘은 접속 스레드에 대한 모니터링과 튜닝 방법에대해 포스팅하도록 하겠습니다. ■ Status MariaDB [(none)]> show global status like '%threads_%'; - Threads_cached 스레드 캐시에 있는 스레드 수 - Threads_connected 현재 오픈된 스레드 수 - Threads_created 연결..
[Maria] Thread 모니터링Maria & Mysql 모두 Thread 방식의 아키텍처로 설계되어있다. Client가 접속하게되면 Thread를 할당해주고 접속이 종료되면 할당했던 Thread를 회수하게 됩니다. 클라이언트가 접속할 때마다 스레드를 할당하고 제거하는 작업은 MySQL 서버 시스템 입장에서 보면 많은 리소스 낭비 및 성능 저하를 발생시키기 때문에 모니터링은 매우 중요한다. 오늘은 접속 스레드에 대한 모니터링과 튜닝 방법에대해 포스팅하도록 하겠습니다. ■ Status MariaDB [(none)]> show global status like '%threads_%'; - Threads_cached 스레드 캐시에 있는 스레드 수 - Threads_connected 현재 오픈된 스레드 수 - Threads_created 연결..
2021.10.07