로그인

검색

Server
2013.08.25 01:18

mysql 튜닝 방법

조회 수 17577 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄


해당 튜닝 방법은 김정균님의 튜닝글을 가져온것이다.

린프리닷컴은 웹서버운영에 필요한 자료를 모으는 공간이다.


# MySQL 설정 File
# 작성 김정균
###########################################################################
#
# 이 파일에는 MySQL 의 전체적인 설정이 들어간다. [ client ] 설정은 각 유저
# 들의 홈디렉토리 ~user/.my.cnf 라는 파일로 만들어 설정을 할수 있다. 이 설
# 정 파일들의 퍼미션은 소유자 readonly 즉 600 을 유지해야 한다.
#
# 현설정 파일은 Plll 700 Mhz 에 RAM 512 M 를 기준으로 MySQL 전용 서버로 작
# 하는 경우를 기준으로 작성이 되어 있다. 각 시스템에 대한 설정은 아래의 파
# 일들을 참조 하도록 한다.
#
# PATH /usr/share/mysql
# my-huge.cnf MySQL 전용으로 메모리가 1-2G 일 경우
# my-large.cnf MySQL 전용으로 메모리가 512 이상일 경우
# my-medium.cnf MySQL 전용으로 메모리가 32-64M 정도일 경우나
# 메모리가 128 이상이면서 다른 데몬과 같이 서비스 될 경우
# my-small.cnf MySQL 전용으로 메모리가 64M 이하일 경우
#
# 메모리가 32M 보다 작을 경우에는 my.cnf 설정을 사용 하지 말고 디폴트 값을
# 사용하도록 한다.

###########################################################################
# MySQL Clinet 설정
###########################################################################
[client]
password = blahblah
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = euckr


###########################################################################
# MySQL Server 설정
###########################################################################
# 다음 사항을 잘 고려하여 설정을 해야 한다.
# key_buffer_size+(record_buffer+sort_buffer)*max_connections <실메모리양
#
# key_buffer 는 실 메모리의 1/4 정도면 무난하다.
#
# 또한 table_cache 는
# (MaxFileOpen-MaxConnection-(temporary table 에 사용되는 파일핸들) ) / 2
# 을 고려하여 설정을 한다.(단 너무 크게 잡을 필요는 없으며 최대 동시 접속
# 자 수의 1.5-2 배 정도라고 생각하면 된다. 즉 500 으로 지정이 되어 있으면
# DB 의 테 # 이블의 총수가 500개 까지는 모두 캐싱이 가능하다. 위의 공식은
# 최대값이라 생각을 하면 된다.)
#
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
#skip-show-database
skip-locking
skip-name-resolve
#skip-networking
key_buffer = 512M
max_allowed_packet = 4M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache = 8
thread_stack = 126976
max_connections = 200
join_buffer_size = 1M

max_connect_errors = 1024
wait_timeout = 30
old_passwords = 0
#tmpdir = /dev/shm
#log_slow_queries = /var/log/mysql/slow.log

read_rnd_buffer_size = 8M
thread_cache_size = 8

# sql cache 사용
#
# query 캐쉬 사용 옵션
# 0 -> 사용안함
# 1 -> 사용함
# 2 -> 선택적 사용
# http://www.mysql.com/doc/en/Query_Cache_Configuration.html 참고
query_cache_type = 1
query_cache_size = 512M
query_cache_limit = 2M

# CPU 갯수 * 2 를 해서 설정을 한다. 1 개일 경우에는 설정 필요가 없다.
thread_concurrency = 4

# Charset 설정
#
# 기본 언어셋 설정은 /etc/sysconfig/mysql 의 default_char 을 함
character-set-client-handshake = 0
#character-set-server = euckr
#default-collation = euckr_korean_ci
#init_connect = 'set names euckr'

# 메시지 언어 선택
language = /usr/share/mysql/korean/

# MySQL 의 리플리케이션 기능을 사용하기 위한 binary log 설정
#log-bin
#server-id = 1

# InnoDB 테이블 설정
#
# innodb 를 사용하지 않을 경우에는 아래를 설정한다.
skip-innodb

# innodb 를 위한 경로 설정
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /var/log/mysql/
#innodb_log_arch_dir = /var/log/mysql/

# _buffer_pool_size 를 RAM 의 50-08% 정로도 설정한다. 하지만 이 경우 메모리
# 사용량을 너무 많이 잡아 먹을 수도 있으므로 어느정도 시스템 모니터링을 하도
# 록 한다.
#innodb_buffer_pool_size = 384M
#innodb_additional_mem_pool_size = 20M

# _log_file_size 는 buffer pool size 의 25% 정도로 설정한다.
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_lock_wait_timeout = 50

# 0 => commit 시 로그 파일에 바로 기록 안함
# 1 => commit 시 로그 파일에 바로 기록
# 2 => commit 시 OS 레벨의 파일 캐쉬에 기록 (3.23.52 추가)
#innodb_flush_log_at_trx_commit = 2


###########################################################################
# MySQL dump 설정
###########################################################################
[mysqldump]
quick
max_allowed_packet = 16M

###########################################################################
# MySQL
###########################################################################
[mysql]
no-auto-rehash

###########################################################################
# Isamchk
###########################################################################
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

###########################################################################
# Myisamchk
###########################################################################
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

###########################################################################
# Mysqlhotcopy
###########################################################################
[mysqlhotcopy]
interactive-timeout

# Local variables:
# tab-width: 4
# c-basic-offset: 4
# End:
# vim600: noet sw=4 ts=4 fdm=marker
# vim<600: noet sw=4 ts=4



리눅스

유용한 정보 및 자료

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
75 Server 테이블 형태 변경하기 MyISAM -> InnoDB(또는 InnoDB -> MyISAM) 보석 2011.10.21 25963
74 Server 우분투에서 압축하고 풀기( tar, gzip, tar.gz ) 보석 2011.08.31 15714
73 Server 우분투에 메일서버를 설치하자. file 보석 2011.12.10 10649
72 Server 우분투(리눅스) 상위폴더로 전체 데이터 옮기기 1 보석 2016.05.18 217
71 Server 우분투 프록시서버 만들기 file 보석 2014.02.03 9691
70 Server 우분투 폴더 소유권 설정 보석 2011.05.15 16403
69 Server 우분투 폴더 삭제 및 폴더 생성 보석 2011.05.15 21160
68 Server 우분투 트림활성화 및 수동 트림하기 보석 2012.11.04 19857
67 Server 우분투 크론 (예약작업) 설정 자동 백업 4 보석 2011.09.01 15846
66 Server 우분투 원격데스크톱 설정 보석 2012.03.30 12098
65 Server 우분투 오래된 커널 삭제 방법 보석 2016.01.14 317
64 Server 우분투 업데이트 서버 변경 보석 2012.11.11 12053
63 Server 우분투 업데이트 서버 변경 보석 2016.06.21 83
62 Server 우분투 센드메일 설치 및 설정 sendmail 2 보석 2011.05.16 22216
61 Server 우분투 서버(커맨드 모드)에서 외부 아이피 알아내기 보석 2012.04.05 14163
60 Server 우분투 사용자 패스워드 비번 변경 보석 2012.07.26 21177
59 Server 우분투 메일서버 보석 2012.03.30 10154
58 Server 우분투 리눅스에서 APM 설치하기 (웹서버 설정) 보석 2011.07.04 32846
57 Server 우분투 리눅스 자주쓰는 명령어 모음 보석 2011.05.15 13727
56 Server 우분투 루트권한 얻기 보석 2011.05.15 16031
Board Pagination Prev 1 2 3 4 Next
/ 4