본문 바로가기

APM45

mysql binary log를 이용한 복구 DB작업전 반드시 data를 백업 후 작업을 진행하자.# cp -arp /usr/local/mysql/data /usr/local/mysql/data_bak_100406 mysql data 폴더를 보면mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000004, ...... 등의 파일이 있다. mysql 을 설치하고 부터 실행하는 모든 명령어들(create, update, delete, alter 등) 이 기록에 남는데이러한 기록을 이용하여 현재까지의 DB를 재작성 할 수 있다. 문제발생 시간을 확인하여 그 전 시간까지만 복구를 하면 된다. 1. mysql 바이너리 로그 파일 확보 # mkdir /usr/local/src/mysql_bin_repai.. 2014. 5. 9.
해킹방지를 위한 fail2ban 설치 개발중에 있던 서버에 burteforce기법으로 해커들이 루트계정을 따서 침투한뒤 네트워크 트래픽을 발생시키는 사건이 발생했다이문제를 해결하기위해 이런저런 방법들을 찾아보다가 몇번이상 계정접근이 실패하면 접근한 IP를 막아버리는 툴이있어서 적용해봤다. 1. fail2ban 다운로드(http://www.fail2ban.org/wiki/index.php/Downloads) 2. 압축풀고 설치#tar xvf fail2ban-0.8.12.tar.gz#cd fail2ban-0.8.12#python setup.py install 3. fail2ban 환경설정/etc/fail2ban/jail.confignoreip : 체크대상에서 제외할 IPbantime : 접근실패횟수가 넘어간 IP에 대해 정해진 시간만큼 접근을 .. 2014. 5. 9.
MySQL 암호화 방법 MySQL을 이용하는 대부분의 사이트에서 사용자의 정보를 암호화 하는데 MD5(SHA1)를 사용합니다. 하지만 MD5(SHA1)는 암호화가 아닌 해시 값 입니다. 해시 알고리즘 MD5(SHA1)에 의한 문자열입니다. 사용자 개인정보를 취급하는데 있어 DB전체 데이터를 분실한다고 했을때 많은 손실을 받을 수 있습니다. 물론 한개의 비밀번호를 알아내는데 약간의 시간이 필요하지만 그렇다고 해서 못알아내는 것은 아닙니다. 완벽한 보안이 아닌 그나마 차선책으로라도 암호화를 해 저장을 한다면 이러한 방식은 어떻까 합니다. MySQL 내부의 암호화 방식인 AES/DES를 사용해보는것입니다. AES(Advenced Encryption Standard) 는 미국 정부 표준으로 지정이된 블록암호화 알고리즘입니다 PHP 에.. 2013. 6. 12.
SSD를 쓰면 DBMS가 빨라질까? NHN Business Platform DBMS개발랩 이기열SSD는 HDD보다 처리 속도가 빠릅니다. 그렇다면 DBMS의 저장 매체를 HDD에서 SSD로 바꾸면 DBMS의 속도도 빨라질까요? DBMS의 데이터 버퍼링이 효율적으로 동작하지 않으면 SSD로 바꾸더라도 기대한 만큼 속도가 빨라지지 않을 수 있습니다. 디스크 드라이브와 데이터 버퍼링 SSD(Solid State Disk)는 HDD(Hard Disk Drive)보다 읽기/쓰기 속도가 빠르다. 그래서 HDD를 SSD로 대체하면 운영체제를 비롯한 많은 프로그램의 실행 성능이 좋아진다. 그런데 DBMS에서는 저장 매체를 HDD에서 SSD로 바꾸어도 성능이 나아지지 않거나, 나아진다 해도 미미한 정도인 경우가 많다. 그 이유는 DBMS에서는 데이터 버퍼.. 2012. 11. 3.
/favicon.ico HTTP/1.1" 404 에러 없애는 방법 안녕하십니까금일은 apache 를 설치한뒤에 access.log 와 error.log 에 귀찮게도 자주 나오는 favicon.ico 에러를 안나오게 하는 방법에 대해 정리하겠습니다. 별로 안어려우니 따라해보시면 됩니다. (1) error.log 상에 favicon.ico 로그 안찍히게 하는 방법.* error.log 에러로그=> [Wed Aug 24 11:10:52 2011] [error] [client 10.225.23.118] File does not exist: /jboss/jboss-as-web-7.0.0.Final/standalone/deployments/test.war/favicon.ico * 설정파일 : httpd.conf* 설정방법은 아래와 같다. (error.log 아래에 붙이면 된다.).. 2012. 11. 3.
서버 메모리 관리에 도움글 # cat /proc/meminfo | grep -i swapcached SwapCached: 213 kB swap 은 메모리의 부족분을 hdd 로 때우는 겁니다. 이것을 사용한다는 것 자체가 메모리가 충분하지 않다는 거죠. swap 은 암만 많아봤자 메모리가 가득 차서 swap 을 쓰기 시작하면, 메모리 확보가 빨리 되지 않는 이상 그냥 다운이라 보면 됩니다. 즉, 가끔 저렇게 조회 했을 때 반드시 0 kB 가 되어야 합니다. # cat /proc/meminfo MemTotal: 4127052 kB # 전체 메모리 MemFree: 122168 kB # 남은 메모리 Buffers: 105472 kB # 버퍼된 메모리 Cached: 700480 kB # 캐시된 메모리 SwapCached: 0 kB # 스왑.. 2012. 11. 3.
Apache prefork 와 worker 방식 Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Prefork 와 Worker 방식의 비교 ==> apache 서버가 클라이언트에게서 받아들인 요청을 처리하기 위해 "자식 process" 에게 분배하는 방식 Prefork 방식 - 하나의 자식 프로세스가 하나의 쓰레드를 갖는 구조로, 자식 프로세스는 1024까지 늘일 수 있다. - 한개의 자식 프로세스는 한 개의 연결을 담당한다. - 프로세스가 생성되는 구조이므로 당연히 worker보다는 많은 메모리를 사용함. - 프로세스간 메모리를 직접 공유하지 않으므로, 메모리 공간이 독립적이어서 안정적임 httpd.conf에서 httpd-mpm.conf 파일을 include 시켜야 한다. httpd-mpm.conf 파일에서 Star.. 2012. 10. 21.
아파치 최적화 튜닝하기 이전에 워드프레스 성능 개선팁이라는 게시물을 포스팅했습니다. 비단 워드프레스 블로그에 국한되는 이야기는 아니며 가장 널리 쓰이는 웹서버인 아파치에서 동시접속자를 튜닝하는 방법을 설명하고자 합니다. 여기서 설명하는 것이 절대적인 진리는 아니며 시스템을 꾸준히 모니터링하면서 알맞은 값을 직접 찾으셔야 합니다. 웹 서버를 며칠간 재시작하지 않고 놔둬서 현재 서비스 상태를 파악하는 게 가장 좋을 것 같습니다. 간단히 아파치 서버와 클라이언트 사이의 동시 소켓 연결 개수를 확인하기 위해 아래와 같이 명령합니다.$ netstat -nta | grep :80.*ESTABLISHED | wc -l 이 연결 개수는 아파치 서버가 현재 처리 중인 소켓 연결 개수이며 앞으로 설명할 MaxClients 수를 넘지 않도록 유의.. 2012. 10. 21.
Repair Option-marked as crashed and should be repaired [Error Message] MYSQL ERROR : 1194 - Table 'tableName' is marked as crashed and should be repaired [Command] mysql> repair table tableName; //"tableName"는 오류가 생긴 테이블 입니다. mysql>analyze table tableName;를 실행하면 테이블에 대한 보고서가 작성됩니다. mysql>repair table tableName;를 실행하면 복원이 됩니다. * 만약 repair 명령으로 복구가 안되면 myisamchk로 복구 처리할 것 -o, -r 옵션으로 복구 할 것 (Mysql서버 끄고 할 것) 2010. 1. 12.
사용자 계정에 PEAR 설치 하기 #### 1. Pear 버전 확인 http://pear.php.net/ 에서 요즘 다운르도 하는 버전이 어떻게 되는지 살펴본다. #### 2. Pear를 설치할 디렉토리 설정 1. 디렉 토리 생성 mkdir -p ~/public_html/pear/pear_1.5.x 2. 권한을 777 로 설정한다. chmod 777 ~/public_html/pear/pear_1.5.x #### 3. 설치 스크립트 1-1. http://pear.php.net/go-pear 에서 보여지는 스크립트를 pear-install.php로 저장한다. vi ~/public_html/pear/pear-install.php 1-2. lynx 와 php 가 명령어 형태로 설치된 경우 lynx 를 이용하면 된다. lynx -source ht.. 2009. 6. 26.
mysql 이미 데이터가 들어간 테이블의 UTF-8 및 각종 문자셋 변환 [출처] 다음의 어느 카페에서... 현재 나의 Fedora Core 3 UTF-8 리눅스 상에서, JDBC와 한글 문제를 일으키지 않는 MySQL 4.1.x 설정 상태는... 기존 버전에서는 "euc-kr"로 표기되는 문자셋이 "euckr"로 바뀌었다. /etc/my.cnf [client] default-character-set=utf8 [mysqld] default-character-set=utf8 [mysqldump] default-character-set=utf8 JDBC Driver URL jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=UTF8 현제 문자셋 정보 보기 show variables like 'c%'; - 결과.. 2009. 6. 2.
UTF-8에서 한글자르기 파라미터 설명 String $str : 원본 문자열 Integer $len : 문자열을 자를 길이 Boolean $checkmb : 이 값을 true로 하면 한글을 영문2자와 같이 취급한다. 기본값은 false String $tail : 생략후 붙일 줄임 기호 반환값 {String} 처리된 문자열 주의!! 이 함수는 UTF-8 문자열을 다룹니다. 다른 charset에는 적용되지 않습니다. 원본글 : http://mygony.com/archives/1110 출처:http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=55142 [출처] [펌]utf-8 에서 한글 자르기 |작성자 사랑굳 2009. 4. 25.
PHP5에서 foreach의 변수참조 (예 EUC-KR → UTF-8로 iconv시 유용) PHP5에서 foreach의 변수참조 (예 EUC-KR → UTF-8로 iconv시 유용) http://kr2.php.net/manual/kr/control-structures.foreach.php 제 서버는 PHP5에 Mysql은 4.x대 EUC-KR입니다. UTF-8로 코딩하려 하니 테이블에서 불러오고 저장할 때마다 항상 iconv 함수를 사용해야 합니다. 그런데 iconv 함수는 배열변수를 바로 사용할 수는 없습니다. 그래서, 아래와 같이 간단한 함수를 만들었습니다. function _IconvArr ($ar, $f='EUC-KR', $t='UTF-8') # $ar=배열변수, $f=From, $t=To { foreach($ar as &$v) { $v = iconv($f, $t, $v); } retu.. 2009. 4. 24.
MySQL euc-kr 데이타 UTF-8로 컨버팅 하기 기존 MySQL 환경에서는 Database측 CHARSET 이 latin1 이나 euckr을 많이사용했을 겁니다. Legacy DB쪽은 아무 생각없이 CREATE DATABASE ... ; 해버렸었던 경우가 많아서 latin1 으로 되어 있는 database가 저또한 엄청나게 많았습니다. 그런데, 이럴 경우 utf8을 제대로 쓸 수 없다거나, command line utility에서 꼭 문제가 발생하여서 utf8로 전환을 시도했습니다. 문제는 latin1 db에 client 는 utf8을 사용하고 있던 경우, db에는 utf8로 들어가나, 정상적인 utf8이 아님으로써, mysql 이나 query browser등에서 쿼리를 할 수 없었습니다. 한번은 잘못해서 database하나를 몽땅 못쓰게 만들어 버린.. 2009. 4. 23.
Fedora Core 5에서 Fedora Core 7으로 Upgrade 얼마 전에 보니 Fedora의 Core version이 7로 Update 되었다. 그리고 이제는 이전 버전은 더 이상 Update를 지원하지 않는다고 한다. Core 5가 설치된 머신에서 새롭게 설치하기는 그렇고, Upgrade를 하기로 마음을 먹었다. 1.Fedora Core 5에서 Fedora Core 6으로 Upgrade. 먼저 yum 정보를 삭제하고 업그레이드 한다. yum clean all yum -y upgrade 위와 같은 명령을 실행하면 알아서 업그레이드를 해 줄 것이다. (약간의 시간이 걸릴 것이다...) 그리고 다음과 같이 업그레이드 정보를 설치하기 위하여 파일을 내려받고 설치한다. wget ftp://mirrors.kernel.org/fedora/core/6/i386/os/Fedora.. 2008. 12. 30.