MySQL/Class(43)
-
기초공부 - (3) sleep 세션 정리 하기(interactive_timeout, wait_timeout)
# show processlist 로 세션 정보들을 보았을 때 sleep세션이 존재하는 경우들이 있습니다. 오래동안 sleep으로 되어 있는 세션들을 정리하기 위해 우리는 timeout 이라는 것 설정값을 통해 대기 시간을 설정해 줄 수 있습니다. # 아래 timeout 파라미터 중 우리는 interactive_timeout과 wait_timeout 설정을 변경해 주면 됩니다. mysql> show variables like '%timeout%'; +-----------------------------------+----------+ | Variable_name | Value | +-----------------------------------+----------+ | connect_timeout | 1..
2024.01.30 -
기초공부 - (2) process & thread
1. 구동 방식(MySQL, Oracle) Oracle은 프로세스 기반의 방식입니다. 리눅스에서 ps -ef 로 프로세스를 확인해보면 smon,pmon 같은 오라클과 연관된 프로세스 등을 볼 수 있을 것입니다. 반면 mysql은 thread 방식입니다. 프로세스를 확인해보면 mysqld 만 보입니다. 이것은 모든 작업은 mysqld 프로세스 안에서 여러 thread가 실행되어 구동을 하고 있다는 것입니다. 2. 정의 - process : 프로그램을 실행 시을 경우 발생되는 데몬 - thread : Process 안에서 구동 되는 여러 작업들 3. thread 정보 확인 (1) pid 확인 (2) thread 실행 총 개수 확인 # /proc/${PID}/status [root@mha01 mysql]# c..
2024.01.26 -
기초공부 - (1) sql_mode
# sql_mode는 우리가 쿼리를 날렸을 때 문법과 유효성 검사의 기준을 바꿔주는 시스템 변수입니다. 이것은 global 및 session에서 설정을 각각 할 수 있어서 사용자에 따라서 문법과 유효성 검사가 달라질 수있습니다. 1. 설정 방법 (1) my.cnf 수정 $ vi /etc/my.cnf sql_mode=’STRICT_TRANS_TABLES’ (2) mysql.server 수정 $ vi /usr/bin/mysql.server (3) set mysql> set sql_mode=‘STRICT_TRANS_TABLES’; or mysql> set globl_mode=‘STRICT_TRANS_TABLES’; # default sql_mode=‘ONLY_FULL_GROUP_BY,STRICT_TRANS_T..
2024.01.23 -
HA 구성 - (5) MHA : ERROR편
# 구성을 마치고 테스트를 진행 하던 중 발생된 각종 에러에 대해 정리를 해보도록 하겠습니다. $ su - mhauser $ /usr/local/bin/masterha_check_repl --conf=/etc/mha.cnf (1) Redundant argument in sprintf at NodeUtil.pm # 해결 $ vi /usr/local/share/perl5/5.32/MHA/NodeUtil.pm - 아래 빨간 글씨를 추가해 줍니다. sub parse_mysql_version($) { my $str = shift; ($str) = $str =~ m/^[^-]*/g; 추가 my $result = sprintf( '%03d%03d%03d', $str =~ m/(\d+)/g ); return $resu..
2024.01.19 -
HA 구성 - (4) MHA
1. 호스트 설정(manager-master-slave) $ cat /etc/hosts 172.16.173.138 manager 172.16.173.130 master 172.16.173.132 slave1 172.16.173.133 slave2 172.16.173.134 slave3 2. mha 다운로드 mha4mysql-node-0.57.tar.gz : manager, master, slave 설치 mha4mysql-manager-0.57.tar.gz : manager 설치 3. 패키지 설치(manager-master-slave) $ yum install -y net-tools sysstat lrzsz lsof htop iftop rsync bzip2 unzip patch syslog $ yum in..
2024.01.18 -
HA 구성 - (3) replication의 동작원리
1. replication 이란 DB를 복제하는 것을 의미합니다. MySQL의 안정성을 높이기 위해 source-replica 의 관계로 사용을 하고 장애 발생시 빠른 대처가 가능하기 때문에 서비스 운영에 있어서 꼭 필요한 기능(?)입니다. 2. replication 방식 비동기 방식(async) : source 는 replica 의 데이터 동기화 여부에 관여하지 않습니다. - 처리 속도가 빠르지만 데이터의 안정성이 동기방식에 비해 낮습니다. 동기 방식(semi-async) : source 는 replica 의 relaylog 까지 확인하여 동기화여부에 관여를 하게 됩니다. - 처리 속도는 느리지만 데이터의 안정성은 높습니다. 3. replication 동작 원리 source 에서 DML 작업이 발생, ..
2024.01.08