본문 바로가기

반응형

전체 글

Haproxy - Master/Backup 설정에서 MySQL alive check 방법 Haproxy 의 option mysqlchk 로 DB 의 가용 여부를 점검하는 데에 쓸 수 있으나 정상적인 점검이 정확하게 되지 않으며, MySQL의 connection을 잠식하는 문제점이 있다. 단순히 DB 접속 port만 감시하는 방법도 쓸 수 있으나, DB의 정상 가동여부를 체크하는 방법으로는 적합하지 않다. xinetd service와, 간단한 db connection & query script를 이용 Assumption: MySQL home - /user/service/mysql Thanks to Unai Rodriguez(script author) & Sysbible(http://sysbible.org/) 1. script 작성 # cd /user/service/mysql/bin; vi my.. 더보기
Percona - Xtrabackup 1.4 유틸리티의 innobackupex 스크립트 오류 extrabackup은 incremental backup을 지원하지만 innodb에 대해서만 가능하므로 MyISAM등의 복합적 엔진구성인 경우 작동하지 않는다. 이러한 경우 MySQL에서 제공하는 innobackupex base의 Percona 수정판 perl utility로 백업을 할 수 있다(innobackupex-1.5.1). 하지만 이 perl source에 버그가 숨어 있어서, 실행하면 "Invalid version format (non-numeric data) at /usr/bin/innobackupex-1.5.1 line 1708." 와 같은 에러를 뱉어 내므로 아래와 같이 수정한다. ... } else { $perl_version = chr($required_perl_version[0]) .. 더보기
Linux cvs repository 복구 왠지 모르게 cvs의 설정과 복구과정에 대해 헛갈려 하는 cvs 사용자들을 위해 작성 cvs 서버의 장애로 1. 새로운 머신에 cvs server를 설치하고 2. repository를 초기화 한 후 3. Local PC의 최종버전의 파일들을 밀어 넣는 방법으로 복구하는 과정이다 1. cvs server 설치(root) # apt-get install cvs cvsd xinetd openssl ubuntu가 아닌 Suse, Centos(or Fedora)는 zypper, yum 등을 통해서 설치 # groupadd cvsgrp # useradd -M -g cvsgrp -s /bin/false cvs 2. Repository 초기화 # mkdir /home/cvs # cvs -d /home/cvs init .. 더보기
MySQL Tip - caution for 'not found handler' MySQL에서 NOT FOUND exception은 Cursor Fetch 시에만 발생한다. 따라서 update 아래의 IF 문 내의 처리는 의도한 대로 동작하지 않는다. 즉, 코더의 의도는 Update 문을 실행해서 해당 데이터가 없다면 If 문 내의 문장이 처리되기를 원한 거겠지만, 아래의 이 IF 문 내의 문장은 전혀 실행되지 못하게 된다. DECLARE MyErr INT default 0; DECLARE CONTINUE HANDLER FOR NOT FOUND set MyErr = -1; ... UPDATE table SET COL = 'data' WHERE KEY_COL = 'key data'; IF MyErr < 0 THEN statements_for_not_found...; END IF; 또한.. 더보기

반응형