MySQL(48)
-
기초공부 - (4) isolation(고립,독립,격리)
# 트랜잭션이 동시에 발생하였을 경우, 동일 데이터에 대해서 세션별 결과값이 다르게 보여질 수가 있습니다. 이것은 isolation 레벨에 따라서 데이터의 정합성 또는 일관성이 달라질 수가 있다는 것입니다.(동시성) # isolation 설정에 따라 데이터의 변화가 어떻게 되는지 아래 예시 데이터를 통하여 테스트를 진행해 보려고 합니다. 1. Read-Uncommitted - 다른 세션에서 변경된 정보를 바로 확인이 가능 합니다. 즉, 다른 세션에서 commit 되지 않은 정보를 바로 확인 할 수가 있습니다. 2. Read-Committed - 변경된 정보는 commit이 발생되기 전까지는 다른 세션에서 변경된 값을 볼 수가 없습니다. 3.Repeatable Read - 스냅샷을 생성하고 데이터를 조회 ..
2024.02.05 -
기초공부 - (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