Total(372)
-
기초공부 - (5) 더미 데이터 넣기
# 테스트를 하기 위해서 데이터를 임의로 넣어야하는 경우가 종종 있습니다. 많은 데이터를 필요로 할 때 손쉽게 더미 데이터를 넣을 수 있는 방법들을 알아보도록 하겠습니다. # 테이블 생성 mysql> create table temp_dummy (a int, b varchar(10)); Query OK, 0 rows affected (0.03 sec) 1. 다른 데이터 이용한 데이터 생성 mysql> insert into temp_dummy -> select @seq:=@seq+1, concat('test',@seq) -> from temp_isolation,(select @seq:=0) as seq -> ; Query OK, 6 rows affected, 2 warnings (0.00 sec) Recor..
2024.02.12 -
기초공부 - (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