Skip to content

2013.09.24 05:00

mysql 5.5.x my.cnf 참고

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

[mysqld]
datadir = /data/mysql
socket = /var/lib/mysql/mysql.sock
user=mysql
 
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
 
big-tables
default-storage-engine = InnoDB             # 기본 엔진설정
 
skip-host-cache
skip-name-resolve                   # 역DNS 검색 비활성
skip-external-locking                   # 외부(TCP/IP) 잠금 비활성
 
max_connections = 500
table_cache = 256
wait_timeout = 50
 
## General 로그를 사용하려면 아래 설정은 그대로 유지하고
## MySQL 서버에 로그인한 후 “SET GLOBALgeneral_log=1″ 명령으로 활성화
general_log = 1                     # 0=제네럴로그 비활성
general_log_file = /var/log/mysql/general_query.log # 제네럴로그 파일경로
 
log_slow_admin_statements               # DDL쿼리도 슬로우 쿼리에 기록
slow-query-log = 1                  # 슬로우 쿼리로그 활성화
long_query_time = 1                     # 이 변수값보다 쿼리처리가 길게 걸린다면 에러로그에 기록
slow_query_log_file = /var/log/mysql/slow_query.log     # 슬로우 쿼리 로그파일 경로
 
## MySQL 스케줄러를 사용하려면 아래 event-scheduler 옵션을 ON으로 변경
#event-scheduler = OFF                  # 이벤트 비활성
sysdate-is-now                      # 함수 sysdate()와 now() 동일하게 처리
 
back_log = 100                      # 동시접속시 대기시킬수있는 커넥션 갯수
max_connections = 300                   # 최대 클라이언트 연결 갯수
max_connect_errors = 999999
thread_cache_size = 50                  # 다쓴 쓰레드를 스레드풀에 저장할 갯수
table_open_cache = 400                  # 각 쓰레드별 오픈할 테이블수
wait_timeout = 28800                    # 커넥션 최대 대기시간(초)
 
max_allowed_packet = 32M                # 요청된 쿼리의 최대길이의 값
max_heap_table_size = 32M               # MEMORY 테이블의 최대크기
tmp_table_size = 512K                   # 메모리 내의 임시테이블 크기 초과시 디스크에 저장
 
# 2012.09.13, xCode, ref http://dev.kthcorp.com/2011/07/01/mysql-innodb-storage-engine-benchmark/
#sort_buffer_size = 128K                # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와 관련
#join_buffer_size = 128K                # 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기
#read_buffer_size = 128K                # 테이블 스캔에 필요한 버퍼크기
#read_rnd_buffer_size = 128K                # 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기
sort_buffer_size = 512K                 # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와 관련
join_buffer_size = 6K               # 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기
read_buffer_size = 64K                  # 테이블 스캔에 필요한 버퍼크기
read_rnd_buffer_size = 256K                 # 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기
 
query_cache_size = 32M                  # 쿼리 결과를 캐싱라기 위해 할당된 메모리 크기
query_cache_limit = 2M                  # 이 변수 값보다 큰 값은 캐싱이 안됨
 
group_concat_max_len = 1024                 # GROUP_CONCAT()함수 사용시 컬럼값 최대크기
 
# 2012.09.13, xCode, 1 chip x 8 core
thread_concurrency = 2                  # 쓰레스 갯수
 
## 마스터 MySQL 서버에서 “레코드 기반 복제”를 사용할 대는 READ-COMMIT 사용 가능
## 복제에 참여하지 않는 MySQL 서버에서는 READ-COMMIT 사용 가능
## 그 외에는 반드시 REPEATABLE-READ로 사용
transaction-isolation = REPEATABLE-READ         # isolation 레벨 [READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE]
 
[innoDB]
innodb_file_per_table = 1               # 테이블 단위로 테이블스페이스 할당, 활성시 확장자 .ibd 파일이 생성됨
innodb_data_home_dir = /data/mysql              # innodb 홈디렉터리 경로
innodb_data_file_path = ibdata1:256M:autoextend     # 파일명 : 초기용량 : 자동증가 : 최대사이즈
innodb_autoextend_increment = 100           #테이블 스페이스 자동 확장시 크기
innodb_log_group_home_dir = /data/mysql 
innodb_log_arch_dir = /data/mysql               # 로그 디렉터리 정보
innodb_buffer_pool_size = 10G               # 데이터와 인덱스를 캐시하기 위해 사용하는 메모리 버퍼크기
                            # innodb에서 사용할 메모리 양으로 전체 메모리의 50~80% 정도로 설정
innodb_additional_mem_pool_size = 16M           # 데이터 디렉토리 정보와 내부 데이타 구조를 저장하는 메모리 풀의 크기
innodb_log_buffer_size = 16M                # Redo 로그 버퍼크기
                                # 로그 버퍼 사이즈로 성능에 맞춰 로그를 기록하는 경우 크게 설정
innodb_log_file_size = 64M                  # 로그 파일 사이즈로 버퍼풀 사이즈의 25% 정도로 설정
innodb_flush_log_at_trx_commit = 2          # 커밋 로그 옵션으로 성능 최적화로 1분마다 저장되도록 2로 설정
                            # 1=트랜젝션 실행할때마다 로그 파일에 기록되고 디스크 플러시가 실행
innodb_support_xa = OFF                 # 트렌젝션 two-phase commit 지원, 디스크 플러시 횟수를 줄여 성능항상
                            # 분산데이터 기능 (2-PhaseCommit)
# 2012.09.13, xCode, 1 chip x 8 core
#innodb_thread_concurrency = 0              # InooDB내에 쓰레드 갯수, 변수 0은 쓰레드간 동시성 비활성화
innodb_lock_wait_timeout = 20               # 롤백이 진행되기 전에 LOCK을 대기하는 시간(초)
innodb_force_recovery = 0               # 크래시 복구 모드 설정
innodb_flush_method = O_DSYNC               # 성능을 위해 메모리에서 직접 액세스 하도록 설정
 
innodb_purge_threads = 1
innodb-read-io-threads = 2
innodb-write-io-threads = 2
innodb_thread_concurrency = 6
innodb-buffer-pool-instance = 3
                            # O_DIRECT=운영체제의 버퍼를 사용 않고 IO 실행, RAID 컨트롤러(캐시메모리 장착된)가 없거나 SAN 사용시 O_DIRECT를 사용 하지 않음
innodb_doublewrite = 0                  # 이중 쓰기 버퍼 비활성
innodb_sync_spin_loops = 20                 # 쓰레드가 지연되기 전에 (suspended) 풀어 주기 위해 InnoDB 뮤텍스 (mutex)를 기다리는 쓰레드의 대기 시간
innodb_table_locks = 1                  # LOCK TABLES은 AUTOCOMMIT=0경우에, InnoDB로 하여금 내부적으로 테이블을 잠금
innodb_thread_sleep_delay = 1000            # InnoDB 큐를 조이닝 (joining)하기 전에 InnoDB 쓰레드가 일시 정지 (sleep)하는 시간
innodb_max_purge_lag = 0                # 퍼지 연산 (purge operation)이 래깅 (lagging)될 때 INSERT, UPDATE 및 DELETE 연산을 지연 시키는 방법을 제어, 디폴트값 0일시 지연 없음
innodb_commit_concurrency = 0               # 동시에 실행되는 쓰레드의 숫자. 이 값이 0이 되면 동시성 제어 (concurrency control)가 비활성화
innodb_concurrency_tickets = 500            # InnoDB에 동시에 들어갈 수 있는 쓰레드의 숫자는 innodb_thread_concurrency 변수로 알아볼 수가 있다. 여러 개의 쓰레드가 이미 컨커런시 한계에 도달하였다면, 하나의 쓰레드만이 큐에 들어갈 수 있다. 하나이 쓰레드가 InnoDB에 들어가게 되면, innodb_concurrency_tickets의 값과 일치하는 “자유 티켓”의 숫자가 주어지고, 쓰레드가 자신의 티켓을 사용하기 전 까지는 자유롭게 InnoDB에 들어가고 나올 수가 있다. 이런 후에는, 쓰레드는 다시금 일관성 검사를 하고 InnoDB에 다시 들어가려고 시도하게 된다
 
[mysql]
default-character-set=utf8
show-warnings                       # 경고 발생시 메세지 자동 출력
prompt=\u@\h:\d\_\R:\m:\\s>              # SQL 프롬프트 설정
#pager=”less -n -i -F -X -E”                # 데이터 출력시 페이징처리
#no-auto-rehash                     # 자동 완성 기능 비활성화
#safe-updates                       # 데이터 변경 또는 삭제시 wherer구문 필수입력
 
[myisam]
## InnoDB를 사용하지 않고 MyISAM만 사용한다면 key_buffer_size를 4GB까지 설정
key_buffer_size = 32M                   # 인텍스 캐시 크기
bulk_insert_buffer_size = 32M               # 대량 삽입에 사용된 트리 캐시의 크기, 쓰레드당 각각 할당됨
myisam_sort_buffer_size = 1M                # 인덱스 정렬시 할당되는 버퍼의 크기
myisam_max_sort_file_size = 2G              # 인덱스 재 생성시 사용할 임시 파일의 최대 크기
myisam_repair_threads = 1               # 정렬 복구시 사용될 쓰레드 갯수
myisam_recover                      # MyISAM 테이블을 열었을시 테이블 자동복구
ft_min_word_len = 3                     # 하나의 FULLTEXT 인덱스에 포함 되는 단어의 최소 길이 값, 
                            # 변경후 REPAIR TABLE tbl_name QUICK 으로 재 구축해야함
 
[mysqld_safe]
log-warnings = 1                    # 에러로그에 경고메세지 기록
log-error=/var/log/mysqld.log               # 에러로그 파일경로
pid-file=/var/run/mysqld/mysqld.pid         # 프로세스 ID 파일경로
 
# 2012.09.13, xCode
tcmalloc on
 
 
[ndbd]
 
connect-string="nodeid=2;host=localhost:1186"
 
[ndb_mgm]
 
connect-string="host=localhost:1186"


List of Articles
번호 제목 글쓴이 날짜 조회 수
86 초기 mysql root 패스워드 설정 및 비번 변경과 root 비번 잃어 버렸을 경우 변경하는 방법 ADMINPLAY 2008.10.30 11290
85 서버에서 mysql euckr과 utf8 같이 사용하기 ADMINPLAY 2010.05.03 12799
84 리눅스를 이용한 클러스터링 구축법 ADMINPLAY 2009.11.19 10754
83 리눅스 환경에서 mySql JDBC ADMINPLAY 2009.07.12 10356
82 [우분투] mysql, data 디렉토리 변경 file ADMINPLAY 2013.09.24 15191
81 [데이터베이스] [DBMS-MYSQL] "SHOW PROCESSLIST"시 state 종류 및 설명 ADMINPLAY 2012.01.16 15925
80 [MySQL] OPTIMIZE, TRUNCATE, 테이블복구, DB공간제한 l2zeo 2010.05.29 16489
79 [MYSQL] Mysql 테이블 검사하기 & 복구하기 ADMINPLAY 2009.06.17 8453
78 [mysql] Manager of pid-file quit without updating fi[실패] ADMINPLAY 2009.06.29 13639
77 [MySQL 5.1.4] /bin/rm: cannot remove `libtoolT': No such file or directory ADMINPLAY 2012.01.16 18413
76 Starting MySQL.Manager of pid-file quit without updating fi[실패] ADMINPLAY 2010.01.28 19866
75 SSL을 이용한 MySQL 연결 ADMINPLAY 2009.03.03 10807
74 slow Query 조사 ADMINPLAY 2009.03.17 9054
73 skip-name-resolve ADMINPLAY 2009.05.22 9069
72 Redmine database를 복구 하고자 할 때 file l2zeo 2010.03.06 15597
71 phpMyAdmin 에서 icon 과 text 중 icon 만 보이게 하기 1 file l2zeo 2013.01.21 11852
70 PHP5와 MySQL5 연동시 한글 인코딩 문제 해결방법 (UTF-8으로의 변환) 1 l2zeo 2010.03.08 12581
69 mytop 으로 mysql 모니터링하기 ADMINPLAY 2009.06.25 8733
68 MySQL의 호스트 블럭킹 & max_connect_errors ADMINPLAY 2011.03.09 17768
67 MySQL에서 Query Cache 사용하기 ADMINPLAY 2011.03.18 15857
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234