본문 바로가기

반응형

전체 글

mysql - 테이블 단위 replication /etc/my.cnf파일안에... server-id = 2 master-host = '211.000.000.000' master-user = 'root' master-password = '1111' replicate-do-db = 'test' replicate-do-table = 'test.m1' replicate-do-table = 'test.m2' replicate-do-table = 'test.s1' 더보기
mysql - 코드 힌트(조인순서, 인덱스 강제 사용) 문제를 쉽게 해결하기 위해 MySQL로부터 더 많은 정보를 얻는 기법들 MySQL 만의 기능들을 항상 주석처리함으로써 쿼리의 이식성 높일 수 있다. SELECT /*! SQL_BUFFER_RESULTS */ ... SELECT SQL_BUFFER_RESULTS ... MySQL이 임시 결과 세트를 만들도록 강제한다. 임시 세트가 만들어지면, 그 테이블들에 대한 모든 잠금이 해제된다. 이는 테이블 잠금으로 인해 문제가 발생했을 때나 쿼리 결과를 클라이언트로 전송하는데 오랜 시간이 소요되는 경우에 도움이 된다. SELECT SQL_SMAIL_RESULT ... GROUP BY ... 결과 세트가 적은 수의 레코드만 가지게끔 하도록 옵티마이저에게 지시한다. SELECT SQL_BIG_RESULT ... GRO.. 더보기
mysql - 처리 함수 종합 mySql 처리 함수 1) 숫자 함수 ABS(X) : X 에 해당하는 절대 값을 돌려준다. SIGN(X) : X의 값의 부호 값을 돌려 준다.(-1 : 음수, 0 : 0, 1 : 양수) MOD(N,M) : N을 M으로 나눈 값의 나머지를 돌려 준다. FLOOR(X) : 실수 X 값의 소수점 이하의 값은 버림을 한 정수 값을 돌려 준다. CEILING(X) : 실수 X 값의 소수점 이하의 값을 올림을 한 정수 값을 돌려 준다. ROUND(X,D) : 실수 X 값에서 소수점에서 D + 1번째에 해당하는 값을 올림한 값을 돌려 준다. POWER(X,Y) : X의 값을 Y번 곱한 값을 돌려 준다. RAND() : 0에서 1 사이의 숫자를 랜덤하게 발생시겨 돌려준다. SELECT abs(-2),abs(2),sig.. 더보기
mysql - 2개의 테이블 간 (교, 합, 차집합) 구하기 mysql : 2개의 테이블 간 (교, 합, 차집합) 구하기 테스트 환경 { CREATE TABLE `tablea` ( `no` int(10) unsigned NOT NULL auto_increment, `id` varchar(16) NOT NULL default '', `name` varchar(16) NOT NULL default '', PRIMARY KEY (`no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; INSERT INTO `tablea` VALUES (1, '100', 'value 100'); INSERT INTO `tablea` VALUES (2, '101', 'value 101'); INSERT INTO `tablea` VALU.. 더보기
mysql - 자동증가(auto_increment) auto_increment를 사용하기 위해서는 type가 int여야 한다. `id` int(11) NOT NULL auto_increment, 더보기
MySQL - 에러와 문제해결 MySQL 에러와 문제해결 - 일반적인 에러 MySQL - Access denied 에러 - MySQL 서버에 접속시, 사용자명, 호스트명, 비밀번호가 MySQL 의 권한 테이블의 그것과 일치 - 하지 않을때 발생하는 에러이다. 이 에러가 발생하면 MySQL 서버의 user 테이블과 db 테이블을 - 보고 사용자명, 호스트명, 비밀번호가 일치하는지 확인해보도록 한다. - MySQL server has gone away 에러 - MySQL server has gone away Error 는 Lost connection to MySQL server during query 와도 - 상통한다. 이 에러는 mysql> 프롬프트 상에서 SQL 등을 실행시에 발생할 수 있다. 이 에러는 - MySQL 서버에 접속하는.. 더보기
mysql - 실행계획 보기 쿼리문 앞에 EXPLAIN 붙여서 실행하면 실행계획을 확인할 수 있음. 더보기
mysql - 슬로우쿼리 시간에 따른 검색 cat fdbm-slow.log | awk '{if ($2 > 9 && $2 < 100) {print $2}}' 더보기
mySQL v4.1 리눅스에 설치하기 mySQL v4.1 리눅스에 설치하기 mySQL v4.1 리눅스에 설치 하기 [1] 설치를 위해서 컴파일러가 필요하다 될 수 있으면 최신 버전이 좋다. 간혹 버전이 안 맞는 경우도 있는데 우선 2.95.X 이상이면 된다. 아래는 버전 확인 방법이다. # gcc -v 굳이 소스 설치를 하는 것은 시스템에 최적화 하여 성능을 높이고자 함이다. 많게는 20%정도 차이가 생긴다. [2]그룹, 사용자 만들기 # groupadd mysql # useradd -g mysql mysql [3] 소스를 다운로드 받는다. http://www.mysql.com/ 사이트에서 다운로드를 받는다. [4] 소스 파일 압축 풀기 # tar zxvf mysql-4.* 안 풀리면 다운로드 받은 파일의 압축형태를 다시 확인하고 맞게 풀면.. 더보기
mysql - 디스크 성능과 MySQL 리플리케이션 만약에 여러분이 리플리케이션을 사용하고 있지 않다면, 현재의 시스템 성능을 개선하기 위해서는 MyISAM과 InnoDB의 성능에 대해서만 고려를 하면 된다. 이 두 가지를 제외하고 시스템의 성능을 높일 수 있는 방법은 여러 가지가 있다. 시스템을 튜닝해서 초당 1500개의 업데이트를 처리할 수 있게끔 하는 것은 쉬운 일이다. 여러분은 지금 IDE, SATA, 또는 SCSI 디스크를 한 개 사용하거나, 또는 디스크 두 개를 S/W RAID로 연결해서 사용하고 있을 것이다. 이렇게 디스크를 사용하고 있다고 한다면, 향후의 여러 가지 원인으로 인한 장애 또는 확장성을 고려해서, 여러분은 리플리케이션을 사용해야 할 필요성을 느끼게 될 것이다. 시스템의 리플리케이션을 설정하기 위해서는 우선, 마스터 서버상에서 바.. 더보기

반응형