RadarURL

데이터베이스
2026.03.03 22:13

MariaDB my.cnf 설정 파일

조회 수 1 추천 수 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 944149
» 데이터베이스 MariaDB my.cnf 설정 파일 new JaeSoo 2026.03.03 1
2530 데이터베이스 MariaDB 설정 파일 개요와 구조 new JaeSoo 2026.03.03 1
2529 논문 EMR을 기반으로 DW를 구축한 병원의 CRM 활용 방안 연구 = The Study on a Plan to Activate Customer Relationship Management through Data Warehouse based on Electronic Medical Record of Hospitals JaeSoo 2026.02.06 68
2528 인터넷 호스팅케이알(hosting.kr) 도메인 가격 2배 인상으로 인한 도메인 기관 이전 file JaeSoo 2026.01.16 31
2527 건강 올바른 자위습관을 가져야 하는 이유 file JaeSoo 2026.01.12 148
2526 연애 대한민국 결정사 직업 등급표 file JaeSoo 2026.01.09 138
2525 생활 알아두면 유용한 향수 향 종류 모음 JaeSoo 2026.01.09 98
2524 업무 로그인 구글 드라이브 안 쓰고 시놀로지 드라이브 쓰는 이유, 설정 방법 & 활용팁 JaeSoo 2026.01.08 123
2523 네트워크 SMB 다중 채널 관리 JaeSoo 2026.01.08 119
2522 네트워크 Synology NAS SMB 3.0 Multichannel 이용하기 JaeSoo 2026.01.08 145
2521 네트워크 어떻게 SSH를 통해 root 권한으로 DSM/SRM에 로그인할 수 있습니까? JaeSoo 2026.01.08 117
2520 네트워크 시놀로지 나스 SMB 3.0 멀티채널 구성하는법 JaeSoo 2026.01.08 111
2519 경제 RWA(Real-World Assets): 실물자산 토큰화 이해 JaeSoo 2026.01.05 114
2518 생활 그루밍성범죄와 가스라이팅 차이점, 처벌 수위 알아보기 JaeSoo 2025.12.23 195
2517 건강 전문의가 추천하는 자위 횟수 file JaeSoo 2025.12.23 195
2516 모바일 일상에 쉽게 적용할 수 있는 수면 관리 앱 5가지 JaeSoo 2025.12.18 223
2515 건강 매일 밤에 머리 감으면 일어나는 일ㅣ탈모 전문가가 알려주는 충격적인 진실ㅣ김주용 원장 1편ㅣ닥터딩요 JaeSoo 2025.12.11 214
2514 건강 다친 손가락에 끼우는 실리콘 손가락 file JaeSoo 2025.12.11 234
2513 연애 성적 취향에 대하여... JaeSoo 2025.12.09 384
2512 연애 fwb(Friends with Benefits)에 대해 JaeSoo 2025.12.09 368
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 127 Next
/ 127


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

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

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

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

JServer.kr

제이서버 메타블로그

재수 티스토리


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

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너