RadarURL

데이터베이스
2026.03.03 22:13

MariaDB my.cnf 설정 파일

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

 

My.cnf 설정 값 정보

[client] 
port          = 3306 # 사용 포트
socket      = /tmp/mysql.sock 
   
[mysqld] 
user         = mariadb # 기동 시 계정  
port          = 3309 # 사용 포트
socket      = /tmp/mysql.sock 
  
basedir     = /mariadb/mariadb # 설치 경로
datadir      = /mariadb_data/data # 데이터베이스 파일 경로
tmpdir       = /mariadb_data/tmp # 템프
  
## CHARACTER SET 
character-set-server = utf8mb4 
collation-server=utf8mb4_unicode_ci 
init_connect="set names utf8mb4" 
init_connect = "set collation_connection=utf8mb4_unicode_ci" 
    
## LOGGING CONFIG 
log_error = /mariadb_data/log/mysql.err 
slow_query_log_file = /mariadb_data/log/mysql-slow.log 
slow_query_log = 1 # 0=off, 1=on
long_query_time = 5 # 지연 쿼리 
general_log = 0 # 일반 sql 기록 옵션 0=off, 1=on
#general_log_file = /mariadb_data/log/general-log.log 
#log_timestamps = SYSTEM 
  
## SYSTEM CONFIG 
back_log = 50 # 서버가 처리할 수 있는 대기 중인 연결 요청의 최대 수, default=50
max_connections = 1000 # 서버가 동시에 허용할 수 있는 최대 클라이언트 연결 수, default=151
max_connect_errors = 9999 # 서버가 동일한 클라이언트 호스트로부터 허용할 수 있는 최대 연결 오류 수, 초과 시 접속 차단
# 차단 해제 방법 
## mysqladmin -u root -p flush-hosts
# 서버의 스레드 캐시 크기를 설정하는 데 사용됩니다. 스레드 캐시는 재사용 가능한 스레드를 보관하여 새로운 클라이언트 연결이 발생할 때마다 새 스레드를 생성하지 않고, 기존 스레드를 재활용함
thread_cache_size = 8 # 웹 서비스일 경우 유리

sort_buffer_size = 1M # 정렬 작업에 사용될 메모리 버퍼
join_buffer_size = 1M # 테이블을 조인할 때 사용하는 메모리 버퍼의 크기
read_buffer_size = 1M # 디스크에서 데이터를 읽어올 때 사용하는 버퍼의 크기
read_rnd_buffer_size = 2M # 인덱스를 통해 행을 읽을 때 사용하는 버퍼의 크기
 
# 하나의 네트워크 패킷으로 수신하거나 송신할 수 있는 최대 크기를 지정하는 옵션
# 네트워크 통신 중에 데이터베이스 서버와 클라이언트 간에 전송되는 데이터의 크기를 제한
max_allowed_packet = 1G 

# MySQL이 열 수 있는 테이블 캐시의 크기를 지정합니다. 이 캐시는 MySQL이 데이터베이스 테이블을 열 때 사용되며, 열려 있는 테이블의 정보를 메모리에 보관하여 테이블을 다시 열지 않고 재사용함으로써 성능을 향상
table_open_cache = 2000 
  
# 메모리에서 사용할 수 있는 힙 테이블의 최대 크기를 지정합니다. 힙 테이블은 디스크가 아닌 메모리에서 작동하는 임시 테이블로, 주로 정렬이나 그룹화와 같은 작업에 사용
max_heap_table_size = 16M 
# MySQL에서 임시 테이블을 메모리에 저장하는 데 사용할 수 있는 최대 메모리 양
tmp_table_size = 16M 
  
# MySQL 서버가 대기 상태에 있는 클라이언트와 연결을 유지하는 시간(초)
wait_timeout = 28800 # 8 * 60 * 60 = 8시 # default = 8시
# MySQL 서버가 대화형 클라이언트와의 대기 상태에 있는 연결을 유지하는 시간(초)을 지정하는 옵션
interactive_timeout = 28800 # 8시간
 
# MySQL에서 테이블 및 데이터베이스 이름에 대해 대소문자를 구분할지를 결정하는 옵션
# 0= 대소문자 구분, 1=대소문자 구분 안함, 
lower_case_table_names = 1 
# MySQL의 바이너리 로깅에서 사용자가 생성한 함수나 저장 프로시저를 믿을 것인지를 결정하는 옵션
# 0 = 사용자가 생성한 함수나 프로시저를 바이너리 로그에 기록 X, 복제 구성 시 함수, 프로시저 복제 안됨 
# 1= 사용자가 생성한 함수나 프로시저를 바이너리 로그 기록
log_bin_trust_function_creators = 1 

# 타임스탬프 열을 정의할 때 명시적으로 DEFAULT CURRENT_TIMESTAMP를 지정할지를 결정합니다. 이 옵션이 활성화되면, 명시적으로 DEFAULT CURRENT_TIMESTAMP를 사용하지 않으면 타임스탬프 열은 NULL을 허용
explicit_defaults_for_timestamp = 1 

# MySQL 서버가 클라이언트 호스트명을 해결하지 않도록 하는 옵션입니다. 이 옵션을 사용하면 MySQL 서버는 클라이언트의 IP 주소로만 접근을 허용하며, 클라이언트의 호스트명을 해결하지 않습니다. 이를 통해 클라이언트 연결 시간을 단축하고, DNS 조회로 인한 부하를 줄일 수 있습니다.
skip-name-resolve 
   
## TRANSACTION ISOLATION CONFIG 
# 트랜잭션 간의 격리 수준을 설정하는 옵션
## READ-COMMITTED: 다른 트랜잭션이 커밋된 데이터만 볼 수 있습니다. 커밋되지 않은 데이터에 대한 읽기가 차단
## REPEATABLE-READ: 같은 쿼리를 실행할 때마다 일관된 결과를 보장합니다. 한 트랜잭션이 읽은 데이터는 다른 트랜잭션에서 변경되지 않습니다.(기본 값) 
transaction-isolation = READ-COMMITTED 
  
## INNODB OPTION

# MySQL에서 새로운 테이블을 생성할 때 사용할 기본 스토리지 엔진
default-storage-engine = innodb 
# InnoDB 스토리지 엔진에서 사용되는 메모리 버퍼 풀의 크기를 지정하는 옵션
# InnoDB가 데이터와 인덱스를 메모리에 캐싱하여 디스크 I/O를 줄이고 성능을 향상
# 일반적으로 시스템의 총 메모리 크기의 약 50%에서 80% 정도로 설정
innodb_buffer_pool_size = 4G
# InnoDB 스토리지 엔진에서 데이터 파일을 구성하는 방법을 지정하는 옵션
innodb_data_file_path = ibdata1:1G;ibdata2:1G;ibdata3:10M:autoextend 
# 데이터 경로 
innodb_data_home_dir = /mariadb_data/data/ 
# InnoDB 스토리지 엔진에서 트랜잭션 로그를 디스크에 언제 쓸지를 제어하는 옵션
##  0: 트랜잭션 커밋 시 로그를 메모리에만 쓰고, 디스크에 플러시하지 않습니다. 이는 성능을 향상하지만 장애 발생 시 데이터 손실이 발생
## 1: 트랜잭션 커밋 시 로그를 디스크에 즉시 플러시합니다. 이는 ACID 특성을 보장하지만 성능에 영향
## 2: 트랜잭션 커밋 시 로그를 디스크에 플러시하지만, 메모리에는 쓴 후 즉시 디스크에 플러시 하지 않습니다. 이는 일반적으로 1보다 높은 성능을 제공하면서 ACID 특성을 유지
innodb_flush_log_at_trx_commit = 1 
# InnoDB 스토리지 엔진에서 트랜잭션 로그를 메모리에 유지하는 버퍼의 크기를 지정
innodb_log_buffer_size = 16M 
# InnoDB 스토리지 엔진에서 사용되는 트랜잭션 로그 파일의 크기
innodb_log_file_size = 512M 
# InnoDB 스토리지 엔진에서 사용하는 트랜잭션 로그 파일의 그룹에 속하는 로그 파일의 수를 설정
innodb_log_files_in_group = 3 
# InnoDB 스토리지 엔진에서 사용하는 트랜잭션 로그 파일의 그룹이 위치한 디렉토리를 지정
innodb_log_group_home_dir = /mariadb_data/data 
# InnoDB 스토리지 엔진에서 데이터 파일과 로그 파일을 디스크에 쓸 때 사용하는 메서드를 지정하는 옵션
innodb_flush_method=O_DIRECT 
# InnoDB 스토리지 엔진에서 사용되는 스레드 동시성 수를 제어하는 옵션
## CPU core * 2 
innodb_thread_concurrency = 0 
# InnoDB 스토리지 엔진에서 데이터와 인덱스 변경에 대한 더티 페이지의 최대 비율을 지정하는 옵션
innodb_max_dirty_pages_pct = 90 # 0 ~ 99 백분
# InnoDB 스토리지 엔진에서 트랜잭션이 락을 대기하는 시간을 지정하는 옵션입니다. 이 옵션은 다른 트랜잭션이나 세션에 의해 소유된 락을 기다리는 트랜잭션의 최대 대기 시간을 설정
innodb_lock_wait_timeout = 50 # 50초 대
# InnoDB 버퍼 풀을 나누는 데 사용되는 인스턴스의 수를 설정하는 옵션
innodb_buffer_pool_instances = 8 
# InnoDB 스토리지 엔진이 디스크에서 데이터를 읽을 때 사용하는 I/O 스레드의 수를 설정
innodb_read_io_threads = 8 
# InnoDB 스토리지 엔진이 디스크에 데이터를 쓸 때 사용하는 I/O 스레드의 수를 설정하는 옵션
innodb_write_io_threads = 8 
# MySQL이 InnoDB 스토리지 엔진에서 데이터베이스 복구 시도를 강제하는 데 사용되는 옵션입니다. 이 옵션을 사용하여 MySQL 서버가 InnoDB 데이터베이스를 부팅할 때 복구 모드로 진입하도록 강제
# 잘못된 설정은 데이터 손실을 유발
## 0: 복구 모드를 사용하지 않음. 기본 값
## 5: 데이터베이스 복구 시도를 중지하고, 테이블 공간 복구를 시도
#innodb_force_recovery = 5 

## MYSQL DUMP
[mysqldump]
# 이터베이스를 백업할 때 테이블을 잠그지 않고 백업하는 옵션입니다. 이 옵션을 사용하면 데이터베이스가 백업 중에도 계속해서 읽을 수 있으므로, 데이터베이스의 응답성을 유지
quick
# 백업시 네트워크 전송에 허용되는 최대 패킷 크기를 지정
max_allowed_packet = 1G

## MYSQL 

[mysql]
# MySQL 클라이언트가 자동으로 테이블 및 데이터베이스 이름을 재갱신하지 않습니다. 기본적으로 MySQL 클라이언트는 쿼리를 실행할 때마다 사용 가능한 테이블 및 데이터베이스 이름을 자동으로 재갱신(rehash)
# 테이블 및 데이터베이스 이름을 자동으로 재해시하는 것은 일반적으로 편리하지만, 대규모의 데이터베이스나 많은 수의 테이블이 있는 경우에는 조금의 지연을 초래
no-auto-rehash


[mysqld_safe]
# MySQL 서버가 열 수 있는 파일 디스크립터의 제한을 설정하는 옵션
#open-files-limit = 65535

자세히 알아보기

INNODB

client

server

 

출처 : https://nakanara.tistory.com/433

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 2000759
2612 사무 소프트웨어 용인두피문신 고민? 만족 후기 보려면 new 날카로운꿩11 2026.10.05 0
2611 논문 카­톡 gusim8003 급전/내구제 (24시문의) 폰테크 소액대출 선불폰 가개통 new 타오르는켄타우로스86 2026.10.05 0
2610 윈도우즈 웨딩누브라, 완벽한 드레스 핏을 위한 선택 new 날카로운감시자22 2026.10.05 0
2609 인터넷 성공적인 중고화물차 선택, 현명한 가이드 new 붉은드래곤50 2026.10.05 0
2608 가상화 인천맛집 순위 new 차가운파편97 2026.10.05 1
2607 응용 프로그래밍 완벽한 웨딩드레스 핏의 비밀, 웨딩누브라 new 힘겨운암석76 2026.10.05 0
2606 카메라 파주누수업체, 신속 해결 전문가의 비결 new 차가운에메랄드79 2026.10.05 0
2605 u-E(통합센터) 올해의 핫플 선정 간석동 마블! 010&&8923&&0291 new 교활한감시자99 2026.10.05 1
2604 웹서버,WAS 손목터널증후군 치료, 현명한 선택 기준은? new 괴상한두루미52 2026.10.05 1
2603 u-E(통합센터) 손목터널증후군, 두팔로정형외과에서 해답을 찾다 new 눈부신백마법사86 2026.10.05 1
2602 응용 프로그래밍 골든타워 010 2817 0845 골타문의 편하게 알아보는 셔츠룸 new 속삭이는미노타우르93 2026.10.05 2
2601 u-E(TestBed) 특별한 기념품제작, 판촉물365 new 광기의태풍18 2026.10.05 1
2600 건강 대전누수 문제, 청년연합누수가 답이다 new 몽환적인삵34 2026.10.05 2
2599 u-E(법,정책) 양산싱크대막힘, 뚫자하수구에서 한 번에 해결 new 낙관적인유니콘42 2026.10.05 1
2598 가상화 최근 테헤란로 벤처 밸리의 핵심 리더들 사이에서 ‘클래스가 다른 정통 수질과 프라이빗 무드’로 소문 자자한 '선릉 룸싸롱' 기습 방문, 인공미를 거부하는 무결점 뉴페이스들과 심장을 마비시킨 사심 플러팅에 제대로 저격당하고 온 솔직 후기 new 희미한홍학99 2026.10.05 3
2597 웹서버,WAS 카­톡 gusim8003 급전/내구제 (24시문의) 선불폰 소액결제 일수 급전대출 new 황금빛섬광82 2026.10.05 2
2596 웹광고 해외선물 메타5 거래소와 GFS컴퍼니의 장점과 고려사항 new 울리는이구아나69 2026.10.05 2
2595 데이터베이스 흥신소 선택 가이드 new 흔들리는골렘32 2026.10.05 2
2594 윈도우즈 양산싱크대막힘 완벽 해결 뚫자하수구 new 몽환적인태양핵44 2026.10.05 1
2593 취미 완벽한 웨딩드레스 핏의 비밀, 웨딩누브라 new 포근한코요테46 2026.10.05 1
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 131 Next
/ 131


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너