본문 바로가기

hi.pe.kr2191

MySQL 쿼리 실시간 모니터링 및 저장하기 제 목 : MySQL 쿼리 실시간 모니터링 및 저장하기 작성자 : 좋은진호(truefeel, http://coffeenix.net/ ) 작성일 : 2008.11.24(월) MySQL서버는 log 옵션(my.cnf에서 log=파일명. slow query는 log-slow-queries=파일명)을 통해서 실행된 DB 쿼리를 모두 파일로 저장할 수가 있다. 그러나 DB 서버에서 작은 사이트가 아니고선 엄청난 양의 실시간 쿼리를 모두 쌓는다는 것은 힘들다. DB 운영도중에 잠시동안 쿼리 로그를 쌓겠다고 MySQL 재실행할 수도 없는 노릇이다. MySQL 5.1에서는 재실행없이 로그를 쌓을 것인지 안할 것인지를 결정할 수 있지만, 이부분은 뒤에서 설명하기로 하고, DB 쿼리를 실시간으로 살펴보는 몇가지 방법을 소.. 2009. 4. 29.
syslog 로그 메세지 MySQL DB 기록 1. MySQL DB 생성 CREATE DATABASE syslog; USE syslog; CREATE TABLE SystemEvents ( ID int unsigned not null auto_increment primary key, CustomerID bigint, ReceivedAt datetime NULL, DeviceReportedTime datetime NULL, Facility smallint NULL, Priority smallint NULL, FromHost varchar(60) NULL, Message text, NTSeverity int NULL, Importance int NULL, EventSource varchar(60), EventUser varchar(60) NULL, Eve.. 2009. 4. 28.
MySQL 인젝션 공격 방어하는 GreenSQL GreenSQL( http://www.greensql.net/ )은 MySQL에 대한 SQL 인젝션(Injection) 공격을 방어하는 프락시 개념의 어플리케이션이다. 웹페이지를 호출하면 DB쿼리는 먼저 GreenSQL 로 넘어겨지고, 검사한 후 정상적이면 MySQL 서버로 요청하는 과정을 거친다. GreenSQL을 설치하고 실행과정은 이렇다. MySQL 서버는 기존 그대로 실행(디폴트 3306 포트)하고, GreenSQL을 3305포트로 실행(127.0.0.1:3305)한다. 이 때 GreenSQL은 MySQL 서버로 커넥션이 이뤄진다. 웹페이지는 DB커넥션을 GreenSQL의 3305포트로 커넥션하도록 변경해주면 된다. (MySQL을 3305로, GreenSQL을 3306으로 실행할 수도 있을 것이다.. 2009. 4. 28.
MySql 쿼리 디버깅을 위한 방법 - syslog PHP를 이용하여 웹 어플리케이션을 작성 할 때 난감한 이슈 중의 하나는 Database query를 찍어보는 것이다. echo나 print로 로그를 찍게 되면, 화면에 직접 출력되기 때문에 만약 운영중인 웹 어플리케이션이라면 화면 가득 쏟아져 나온 쿼리를 보게 될 것이다. 단순하게 파라미터나 그 밖의 변수를 찍어 보는 정도라면 echo나 print가 적당할 수도 있겠지만, 쿼리를 찍는다는건 긴 스트링일 가능성이 크기 때문에 그리 추천할 만 한 방법은 아니다. IBM 디벨로퍼웍스에서는 PHP 웹 어플리케이션 디버깅 시에 사용할 만한 좋은 기법으로 syslog()에 대한 아티클을 게재한 바 있다. syslog로 PHP 프로그램 디버깅하기 (한글) [원문보기] PHP에서 syslog 함수는 아래와 같이 정의.. 2009. 4. 28.
PHP로 파일 압축/해제하기 - PclZip Library PHP만으로도 zip/tar 등의 압축 방식으로 파일이나 디렉토리를 압축하거나 해제할 수 있습니다. 먼저 PclZip Library가 필요한데요, 현재 공식 사이트에는 접속이 안되어서 여기에 다운로드 링크를 걸어두겠습니다. pclzip.lib.php 파일이나 디렉토리의 압축 압축 파일의 해제 http://www.phpconcept.net 2009. 4. 28.