전체 글(369)
-
기초공부 - (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 -
HA 구성 - (2) 운영 서버
# 운영 서버는 사용 중인 데이터가 이미 존재하기 때문에 신규 서버처럼 binlog 와 position값으로만 복제를 해서는 안됩니다. 먼저 운영서버(master)의 데이터를 가져와서 HA 구성을 해야 합니다. 1. 백업본 모든 전체 데이터가 백업되었다고 가정하였을 때 dump로 가져오던지, 파일 복사를 이용하던지 어떤 방법을 사용하던 운영서버에는 어떠한 영향을 주지 않기 때문에 가장 깔끔하게 HA를 구성할 수 있는 방법입니다. 아래 내용들을 참고하여 백업본에서 작업을 하는 것을 추천 드립니다. 2. 파일 복사 - 운영 DB가 shutdown 된 상태에서 파일 복사가 이뤄져야 해야하기 때문에, 작업을 진행하는 동안 서비스를 중지할 수밖에 없습니다. # Master (1) 운영 DB shutdown (2)..
2024.01.06