이 기사는 MySQL 구성 매개변수에 대한 자세한 소개를 제공합니다. 특정 참고 가치가 있으므로 도움이 필요한 친구에게 도움이 되기를 바랍니다.
# MySQL 클라이언트 애플리케이션은 다음 옵션을 읽습니다.
# mysql과 함께 제공되는 클라이언트 애플리케이션만이 이 콘텐츠를 읽을 수 있음을 보장합니다.
# 자신의 MySQL 애플리케이션에서 이러한 값을 얻으려는 경우.
# 이러한 옵션은 MySQL 클라이언트 라이브러리가 초기화될 때 지정되어야 합니다.
#
[client]
#password = [your_password]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
# *** 애플리케이션 사용자 정의 옵션 ***
#
# MySQL 서비스 터미널
#
[mysqld]
# 일반 구성 옵션
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
# back_log는 운영 체제가 청취 대기열에서 유지할 수 있는 연결 수입니다.
# MySQL 연결 관리자 스레드에서 처리되기 전에 대기열에 연결이 유지됩니다.
# 연결 속도가 매우 높고 "연결 거부" 오류가 발생하는 경우
# 여기에서 값을 늘려야 합니다. 이 변수의 최대값을 얻으려면 운영 체제 설명서를 확인하십시오.
# back_log를 운영 체제 제한보다 높은 값으로 설정하면 아무 효과도 없습니다.
back_log = 300
#에서는 수행되지 않습니다. TCP/IP 포트 모니터링.
# 모든 프로세스가 동일한 서버의 로컬 mysqld에 연결되어 있는 경우
# 이 설정은 보안을 강화하는 방법이 될 것입니다.
# 모든 mysqld 연결은 Unix 소켓 또는 명명된 파이프를 통해 이루어집니다.
# Windows에서 명명된 파이프 옵션을 설정하지 않고 이 옵션만 사용하면
#("enable-named-pipe" 옵션을 통해) MySQL 서비스는 아무런 효과가 없습니다
#. Skip-networking
# MySQL 서비스에서 허용하는 동시 세션 수의 상한
# 연결 중 하나는 관리자로 로그인할 수 있는 SUPER 권한으로 예약됩니다.
#
max_connections = 3000
# 각 클라이언트 이 제한에 도달하면 연결에 허용되는 최대 오류 수입니다.
# 이 클라이언트는 "FLUSH HOSTS"가 될 때까지 MySQL 서비스에 의해 차단됩니다. 실행되거나 서비스가 다시 시작됩니다
# 연결 중 잘못된 비밀번호 및 기타 오류가 발생하면 이 값이 증가합니다.
# 글로벌 카운터를 얻으려면 "Aborted_connects" 상태를 확인하세요.
max_connect_errors = 50
# 열린 테이블 수
# 이 값을 늘리면 mysqld에 필요한 파일 설명자 수가 늘어납니다
# 이런 식으로 [mysqld_safe]의 "open-files-limit" 변수 설정이 열린 파일 수를 허용하는지 확인해야 합니다. 최소한 table_cache 값과 같아야 합니다.
table_open_cache = 4096
# 외부 파일 수준 잠금을 허용합니다. 열린 파일 잠금은 성능에 부정적인 영향을 미칩니다.
# 따라서 여러 데이터베이스 인스턴스를 실행하는 경우에만 이 옵션을 사용하십시오. 동일한 파일(여전히 다른 제약 조건이 있음에 유의하세요!)
# 또는 파일 수준에서 다른 소프트웨어 종속성을 사용하고 있습니다. MyISAM 테이블을 잠그려면
#external-locking
# 요청 패킷의 최대 크기 서비스가 처리할 수 있는 최대 요청 크기(큰 BLOB 필드로 작업할 때 필요)
# 각 연결의 독립적인 크기, 크기는 동적으로 증가합니다.
max_allowed_packet = 32M
# 캐시 크기 SQL 상태를 기록하기 위해 트랜잭션에서 binlog에 보관됩니다.
# 대규모 다중 문 트랜잭션을 자주 사용하는 경우 이 값을 늘릴 수 있습니다. 이 값은 더 나은 성능을 얻는 데 사용됩니다.
# 트랜잭션의 모든 상태는
# 트랜잭션이 이 값보다 크면 디스크가 사용됩니다.
# 이 버퍼는 연결된 각 트랜잭션이 처음으로 상태를 업데이트할 때 생성됩니다.
binlog_cache_size = 4M
# 독립 메모리 테이블이 허용하는 최대 용량입니다.
# 이 옵션은 모든 메모리 리소스를 영구적으로 소모하는 매우 큰 메모리 테이블을 실수로 생성하는 것을 방지하기 위한 것입니다.
max_heap_table_size = 128M
# 데이터 버퍼 메모리 사용량을 무작위로 읽습니다. (read_rnd_buffer_size) : 순차 읽기에 해당,
# MySQL이 비-데이터 블록을 순차적으로 읽을 때(무작위 읽기) 이 버퍼를 사용하여 읽은 데이터를 임시로 저장합니다.
# 예를 들어 인덱스 기반으로 테이블 데이터를 읽는 경우
# 일반적으로 데이터 블록 읽기가 특정 순서를 충족해야 하는 경우 MySQL은 무작위 읽기를 생성한 다음 read_rnd_buffer_size 매개변수에 의해 설정된 메모리 버퍼를 사용해야 합니다.
read_rnd_buffer_size = 16M
# 정렬 버퍼는 ORDER BY 및 GROUP BY 대기열로 인한 정렬을 처리하는 데 사용됩니다.
# 정렬된 데이터가 정렬 버퍼에 맞지 않으면 대체 디스크 기반 병합 분류를 사용합니다
# "Sort_merge_passes" 상태 변수를 보려면
# 정렬이 발생할 때 각 스레드에 의해 할당됩니다.
sort_buffer_size = 16M
# 이 버퍼는 FULL JOINS(인덱스 없는 조인)를 최적화하는 데 사용됩니다.
# 유사한 조인은 성능이 매우 낮습니다. 대부분의 경우 이 값을 크게 설정하면 성능에 미치는 영향을 줄일 수 있습니다.
# "Select_full_join" 상태 변수를 통해 전체 조인 수를 확인하세요.
# 전체 조인이 발생할 때 각 스레드에 할당합니다.
join_buffer_size = 16M
# 재사용을 위해 캐시에 몇 개의 스레드를 예약합니까
# 클라이언트 연결이 끊어질 때 캐시의 스레드가 thread_cache_size보다 작으면 클라이언트는 최종 스레드를 캐시에 넣습니다.
# 이는 크게 많은 수의 새로운 연결이 필요할 때 스레드 생성의 오버헤드를 줄입니다
# (일반적으로 말해서, 좋은 스레드 모델이 있다면 이는 성능 향상이 확실하지 않습니다.)
thread_cache_size = 16
# 이를 통해 동시에 실행되기를 원하는 스레드 수에 대한 힌트를 스레딩 시스템에 제공하는 응용 프로그램입니다.
# 이 값은 thread_concurrency() 함수를 지원하는 시스템(예: Sun Solaris)에만 의미가 있습니다.
# thread_concurrency 값으로 [CPU 수]*(2..4)를 사용해 볼 수 있습니다.
thread_concurrency = 8
# 쿼리 버퍼는 SELECT 결과를 버퍼링하는 데 자주 사용되며 다음과 같습니다. 동일한 쿼리가 더 이상 실행되지 않고 결과가 직접 반환됩니다.
# 동일한 쿼리가 많고 테이블을 거의 수정하지 않는 경우 쿼리 캐시를 켜면 서버 속도가 크게 향상될 수 있습니다. Qcache_lowmem_prunes" 상태 변수는 현재 값이 부하에 비해 충분히 높은지 확인합니다.
# 참고: 테이블이 자주 변경되거나 쿼리 텍스트가 매번 다른 경우
# 쿼리 버퍼링으로 인해 성능이 저하될 수 있습니다. 성능보다 향상됩니다.
query_cache_size = 128M
# 이 설정 값보다 작은 결과만 캐시됩니다
# 이 설정은 쿼리 캐시를 보호하고 대용량 결과 집합이 다른 모든 쿼리 결과를 덮어쓰는 것을 방지하는 데 사용됩니다.
query_cache_limit = 4M
# 전체 텍스트 검색으로 색인화할 최소 단어 길이입니다.
# 더 짧은 단어를 검색해야 하는 경우 길이를 줄이는 것이 좋습니다.
# 이 값을 수정한 후에는 다음을 수행해야 합니다. FULLTEXT 인덱스 재구축
ft_min_word_len = 8
# 시스템이 memlock() 기능을 지원하는 경우 실행 중인 mysql이 데이터를 메모리에 잠긴 상태로 유지하고 가능한 스왑 아웃을 방지할 수 있도록 이 옵션을 설정할 수 있습니다
# 옵션은 성능에 좋습니다
#memlock
# 새 테이블을 생성할 때 사용되는 기본 테이블 유형으로
# 표현을 생성할 때 테이블 유형에 대한 특별한 구현이 없으면 이 값이 사용됩니다
default_table_type = InnoDB
# 스레드에서 사용하는 힙 크기입니다. 이 메모리 양은 각 연결에 예약됩니다.
# MySQL 자체에는 일반적으로 64K 이상의 메모리가 필요하지 않습니다.
# 자체 UDF 함수를 사용하는 경우 힙이 크거나 운영 체제에서 특정 작업에 더 많은 힙이 필요한 경우
thread_stack = 512K
# 사용 가능한 기본 트랜잭션 격리 수준을 다음과 같이 설정하세요.
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
# 내부(메모리 내) 임시 테이블의 최대 크기
# 테이블이 이 값보다 커지면 Large로 자동 변환됩니다.
# 이 제한은 합계가 아닌 단일 테이블에 대한 것입니다.
tmp_table_size = 128M
# 바이너리 로그 기능을 활성화합니다.
# MASTER 마스터 서버로, 이 기능을 켜야 합니다
# 마지막 백업에서 특정 시점으로 복구해야 하는 경우 바이너리 로그도 필요합니다.
log-bin=mysql-bin
# 복제 모드를 사용하는 경우 연결된 슬레이브 서버 구조(A->B->C),
# 서버 B에서 이 기능을 켜야 합니다.
# 이 옵션은 슬레이브 스레드에서 다시 실행되는 업데이트를 켜고 씁니다.
#log_slave_updates
# 서버에서 수신한 모든 쿼리를 켭니다(잘못된 구문이 있는 쿼리라도)
#는 디버깅에 매우 유용합니다. 프로덕션 환경에서는 종종 꺼집니다.
#log
# MySQL에 문제가 있는 경우 오류 로그 파일에 경고를 인쇄하세요.
# 경고 로그를 열고 오류 로그를 주의 깊게 검토하여 가능한 이유를 알아보세요. 느린 쿼리는 "long_query_time"이 정의한 것보다 더 많은 시간을 소비하는 쿼리입니다.
# log_long_format이 켜져 있으면 인덱스를 사용하지 않는 쿼리도 기록됩니다.
# 기존 쿼리에 자주 추가하는 경우 일반적으로 이것은 좋은 생각입니다.
log_slow_queries
# 이 시간(초)보다 오래 걸리는 모든 쿼리는 느린 쿼리로 간주됩니다.
# 여기에 "1"을 사용하지 마십시오. 매우 빠른 쿼리 페이지가 기록됩니다(MySQL의 현재 시간 정확도는 두 번째 수준에만 도달할 수 있으므로).
long_query_time = 6
# 느린 로그에 더 많은 정보를 기록합니다.
# 일반적으로 이 기능을 켜는 것이 가장 좋습니다.
# 이 기능을 켜면 인덱스를 사용하지 않는 쿼리가 기록되고 느린 쿼리로 느린 로그에 추가됩니다.
log_long_format
# 이 디렉터리는 MySQL에서 임시 파일을 저장하는 데 사용됩니다. 대규모 디스크 기반 정렬과 내부 정렬을 처리하는 데 사용됩니다.
# 및 간단한 임시 테이블
# 매우 큰 임시 파일을 만드는 대신 swapfs/tmpfs 파일에 저장하는 것이 더 나을 수 있습니다. system
# 또 다른 옵션은 별도의 디스크에 배치할 수도 있다는 것입니다.
# ";"을 사용하여 여러 경로를 배치할 수 있습니다.
# 경로는 루드 로빈 방식에 따라 폴링되고 사용됩니다. #tmpdir = /tmp
# *** 마스터-슬레이브 복제 관련 설정
# 고유 서비스 식별 번호, 값은 1에서 2^32-1 사이입니다.
# 이 값은 두 장치 모두에 설정되어야 합니다.
# "master-host"가 설정되지 않은 경우 기본값은 1이지만 이 옵션을 무시하면 MySQL은 마스터로 적용되지 않습니다.
server-id = 1
# 복제된 슬레이브(효과를 얻으려면 마스터 섹션에서 설명을 제거하세요)
#
# 이 호스트를 복제된 슬레이브 서버로 구성하려면 두 가지 방법 중 하나를 선택할 수 있습니다.
#
# 1) CHANGE MASTER TO 명령 (완전히 설명서에 설명되어 있음) -
# 구문은 다음과 같습니다:
#
# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
# MASTER_USER=, MASTER_PASSWORD= ;
#
# 꺾쇠 괄호로 묶인 필드를 교체하고 마스터 포트 번호(기본값 3306)를 사용해야 합니다.
#
# 예:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1′, MASTER_PORT=3306 ,
# MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# 또는
#
# 2) 설정 어쨌든 이 방법을 선택한 경우에는 다음 변수에 대한 복제를 시작합니다. 처음(성공하지 못한 경우라도,
# 예를 들어 마스터-비밀번호 필드에 잘못된 비밀번호를 입력하여 슬레이브가 연결할 수 없는 경우),
# 슬레이브는 master.info 파일을 생성하고 이후의 모든 파일은 슬레이브 서비스를 닫고 master.info를 삭제한 다음 슬레이브 서비스를 다시 시작하지 않는 한 이 파일에 포함된 매개변수에 대한 변경 사항은 무시되고
# master.info 파일의 내용으로 덮어쓰여집니다. 구성(주석 처리)을 건드리지 않고 대신 CHANGE MASTER TO(위 참조)를 사용할 수 있습니다.
#
# 필요한 고유 ID 번호는 2와 2^32 – 1
# 사이입니다(그리고 다음과 다릅니다). master)
# master-host가 설정된 경우 기본값은 2
# 단, 생략하면 적용되지 않습니다
#server-id = 2
#
# 복제중인 마스터 구조 – must
#master-host =
#
# 슬레이브가 마스터에 연결할 때 인증을 위해 사용하는 사용자 이름 – must
#master-user =
#
# 슬레이브에서 사용하는 비밀번호 마스터에 연결할 때 인증을 위한 슬레이브 – 필수
#master-password =
#
# 마스터가 수신 대기하는 포트
# 선택 사항 – 기본값은 3306
#master -port =
# 슬레이브를 읽기 전용으로 만듭니다. SUPER 권한이 있는 사용자와 슬레이브 스레드만 데이터를 수정할 수 있습니다.
# 이를 사용하면 애플리케이션이 실수로 마스터 대신 슬레이브의 데이터를 수정하지 않도록 할 수 있습니다. #read_only
#*** MyISAM 관련 옵션
# 일반적으로 MyISAM 테이블의 인덱스 블록을 버퍼링하는 데 사용되는 키워드 버퍼의 크기
# 사용 가능한 메모리의 30%보다 크게 설정하지 마세요.
# 메모리의 일부는 OS에서 행 데이터를 버퍼링하는 데에도 사용되기 때문입니다
# MyISAM 테이블을 사용하지 않더라도 내부 임시 디스크 테이블에서도 사용되므로 8-64M 메모리를 설정해야 합니다.
key_buffer_size = 128M
# 전체 MyISAM 테이블을 만드는 데 사용됩니다.
# 전체 테이블 스캔이 필요한 경우 해당 스레드에 할당합니다.
read_buffer_size = 8M
# 정렬 후 이미 정렬된 시퀀스에서 행을 읽을 때 행 데이터는 이 버퍼에서 읽혀집니다.
# 이 값을 늘리면 ORDER BY 성능을 많이 향상시킬 수 있습니다.
# 필요할 때 각 스레드별로 할당
read_rnd_buffer_size = 64M
# MyISAM에서 사용하여 특수 트리형 캐시를 만듭니다. 버스트 삽입
#(이러한 삽입은 INSERT … SELECT, INSERT … VALUES (…), (…), … 및 LOAD DATA INFILE) 더 빠릅니다.
# 이 변수 제한은 각 버퍼 트리의 바이트 수입니다.
# 0으로 설정하면 이 최적화가 해제됩니다.
# 최적화를 위해 이 값을 "key_buffer_size"보다 크게 설정하지 마세요.
# 이는 버스트 삽입이 감지될 때 사용됩니다.
bulk_insert_buffer_size = 256M
# 이 버퍼는 MySQL이 REPAIR, OPTIMIZE, ALTER 및 LOAD DATA INFILE을 빈 테이블에 다시 작성해야 할 때 할당됩니다.
# 이는 각 스레드 할당에 할당되므로 주의해야 합니다.
myisam_sort_buffer_size = 256M
# MySQL이 인덱스를 재구축할 때 허용되는 최대 임시 파일 크기(REPAIR, ALTER TABLE 또는 LOAD DATA INFILE 시)
# 파일 크기가 이 값보다 큰 경우. 크면 키-값 버퍼링을 통해 인덱스 생성(느림)
myisam_max_sort_file_size = 10G
# 인덱스를 더 빨리 생성하기 위해 사용한 임시 파일이 지정된 값보다 큰 경우 키-값 버퍼링 방법을 사용합니다.
# 이는 인덱스를 생성하기 위해 느린 키-값 버퍼링 방법을 사용하도록 큰 테이블의 긴 문자열 키를 강제하는 데 주로 사용됩니다.
myisam_max_extra_sort_file_size = 10G
# 테이블에 인덱스가 두 개 이상 있는 경우 MyISAM은 이를 병렬화할 수 있습니다.
# 이는 여러 CPU와 대용량 메모리를 사용하는 사용자에게 좋은 선택입니다.
myisam_repair_threads = 1
# 제대로 닫히지 않은 MyISAM 테이블을 자동으로 확인하고 복구합니다.
myisam_recover
# Federated는 기본적으로 꺼져 있습니다
skip-federated
# *** BDB 관련 옵션 ***
# 실행 중인 MySQL 서비스에 BDB 지원이 있지만 사용하지 않을 경우 이 옵션을 사용하세요. 이렇게 하면 메모리가 절약되고 속도가 빨라질 수 있습니다.
skip-bdb
# *** INNODB 관련 옵션 ***
# MySQL 서비스에 InnoDB 지원이 포함되어 있지만 사용할 계획이 없다면
# 이 옵션을 사용하면 메모리와 디스크 공간이 절약되고 일부 부분의 속도가 향상됩니다.
#skip-innodb
# 추가 메모리 풀은 InnoDB에서 메타데이터 정보를 저장하는 데 사용됩니다(5.6에서는 더 이상 권장되지 않음)
# InnoDB의 경우 이 목적을 위해서는 더 많은 메모리가 필요합니다.
# 이 작업은 대부분의 최신 운영 체제에서 충분히 빠르므로 일반적으로 이 값을 수정할 필요가 없습니다.
# SHOW INNODB STATUS 명령은 현재 사용량을 표시합니다.
innodb_additional_mem_pool_size = 64M
# InnoDB는 MyISAM과 달리 인덱스와 원본 데이터를 저장하기 위해 버퍼 풀을 사용합니다.
# 여기에서 더 크게 설정하면 더 큰 용도로 사용할 수 있습니다. 대부분의 읽기 작업 하드 디스크가 아닌 메모리이므로 테이블의 데이터에 액세스할 때 필요한 디스크 I/O가 줄어듭니다.
# 독립형 데이터베이스 서버에서는 이 변수를 서버의 물리적 메모리 크기의 80%로 설정할 수 있습니다.
# 너무 크게 설정하지 마십시오. 그렇지 않으면 물리적 메모리 경쟁으로 인해 운영 체제에서 페이징 난류가 발생할 수 있습니다.
# 32비트 시스템에서는 각 프로세스가 2~3.5G 사용자로 제한될 수 있습니다. 레벨 메모리 제한,
# 너무 높게 설정하지 마세요.
innodb_buffer_pool_size = 6G
# InnoDB는 하나 이상의 데이터 파일에 데이터를 테이블 공간으로 저장합니다.
# 저장할 논리 드라이브가 하나만 있는 경우.
# 다른 경우에는 일반적으로 장치당 하나의 파일을 선택하는 것이 좋습니다.
# 베어 디스크 파티션을 사용하도록 InnoDB를 구성할 수도 있습니다. 자세한 내용은 설명서를 참조하세요. information
innodb_data_file_path = ibdata1:10M:autoextend
# InnoDB 테이블스페이스 파일을 다른 파티션에 저장하려면 이 옵션을 설정하세요.
# 기본적으로 MySQL의 datadir에 저장됩니다.
#innodb_data_home_dir =
# IO 작업을 동기화하는 데 사용되는 IO 스레드 수
# 이 값은 Unix에서는 8로 하드코딩되어 있지만 Windows 디스크 I에서는 /O는 더 큰 값으로 더 나은 성능을 발휘할 수 있습니다.
innodb_file_io_threads = 8
# InnoDB 테이블스페이스가 손상된 경우 이 값을 0이 아닌 값으로 설정하세요. 테이블을 내보내는 데 도움이 될 수 있습니다.
# 1부터 시작하여 테이블을 성공적으로 내보낼 수 있을 때까지 이 값을 늘립니다.
#innodb_force_recovery=1
# 🎜🎜 ## InnoDb 코어에 허용되는 스레드 수 # 최적의 값은 애플리케이션, 하드웨어 및 운영 체제 스케줄링에 따라 다릅니다. # 값이 너무 높을 수 있습니다. 스레드 상호 배제 스래싱을 유발합니다. innodb_thread_concurrency = 16# 1로 설정하면 InnoDB는 커밋할 때마다 트랜잭션 로그를 디스크에 플러시(fsync)합니다.# 이는 전체 ACID 동작을 제공합니다.# 트랜잭션 보안을 타협할 의향이 있고 작은 작업을 실행하는 경우 이 값을 0 또는 2로 설정하여 디스크를 줄일 수 있습니다. 트랜잭션 로그로 인한 I/O
🎜🎜## 0은 로그가 약 1초마다 로그 파일에 기록된다는 것을 의미하고 로그 파일이 디스크에 플러시된다는 것을 의미합니다. 2는 로그가 로그에 기록된다는 것을 의미합니다. 하지만 로그 파일은 약 1초마다 디스크에 플러시됩니다. 게임 서버의 경우 이 값을 2로 설정하는 것이 좋습니다. 데이터 보안 요구 사항이 매우 높은 애플리케이션인 경우 권장됩니다. 0으로 설정하면 가장 성능이 좋지만, 실패할 경우 데이터 손실의 위험이 있습니다! 기본값은 1입니다. 이는 트랜잭션 외부의 모든 트랜잭션 커밋이나 명령을 플러시해야 함을 의미합니다. 특히 많은 응용 프로그램의 경우 배터리 백업 캐시(Battery Backuped Up Cache)를 사용할 때 시간이 많이 걸리는 하드 디스크에 대한 로그를 MyISAM 테이블에서 전송해도 괜찮다는 의미입니다. 하드 디스크에는 기록되지만 시스템 캐시에는 기록됩니다. 로그는 매초마다 하드 디스크에 플러시되므로 일반적으로 1~2초 이상 업데이트가 손실되지 않습니다. 값이 0이면 더 빠르지만 보안 수준은 떨어집니다. .MySQL이 충돌하더라도 트랜잭션 데이터가 손실될 수 있지만 2의 값은 전체 운영 체제가 충돌하는 경우에만 데이터를 손실합니다.)
#🎜🎜 ## InnoDB 종료를 가속화합니다. 종료 시 전체 제거 및 삽입 버퍼 병합 # 이로 인해 종료 시간이 크게 늘어날 수 있지만 대신 InnoDB가 다음 시작 시 이러한 작업을 수행할 수 있습니다.#innodb_fast_shutdown # 로그 데이터를 버퍼링하는 데 사용되는 버퍼의 크기입니다.# 이 값이 거의 가득 차면 InnoDB의 데이터를 디스크로 플러시해야 합니다.#🎜🎜 ## 기본적으로 1초마다 플러시되므로 이 값을 너무 크게 설정할 필요는 없습니다(긴 트랜잭션의 경우에도)
#🎜 🎜#innodb_log_buffer_size = 16M # 로그 그룹에 있는 각 로그 파일의 크기.# 총 로그 파일 크기를 버퍼 풀 크기의 25% ~100%#로 설정해야 합니다. 로그 파일 덮어쓰기 시 불필요한 버퍼 풀 플러시를 피하세요.# 단, 로그 파일 크기가 커지면 프로세스를 복원하는 데 필요한 시간이 늘어납니다.innodb_log_file_size = 512M # 로그 그룹의 총 파일 수입니다.# 보통 2~3개가 좋습니다. innodb_log_files_in_group = 3#🎜🎜 ## InnoDB의 로그 파일 위치는 기본값은 MySQL의 datadir입니다.
# 성능 향상을 위해 별도의 하드 디스크나 RAID1 볼륨에 할당할 수 있습니다#🎜🎜 #
#innodb_log_group_home_dir# InnoDB 버퍼 풀에서 더티 페이지의 최대 허용 비율입니다.#🎜 🎜## 한계에 도달하면 InnoDB는 해당 페이지를 플러시하기 시작합니다.
# 이는 소프트 제한이며 적용이 보장되지 않습니다.
# 🎜🎜#innodb_max_dirty_pages_pct = 90# InnoDB에서 로그를 새로 고치는 데 사용하는 방법입니다.# 테이블스페이스는 항상 이중 쓰기 새로 고침 방법을 사용합니다. # 기본값은 "fdatasync"이고 다른 값은 " O_DSYNC".# 일반적으로 하드웨어 RAID 컨트롤러가 있고 독립 캐시가 후기입 메커니즘을 사용하며 배터리 중단 전원 보호 기능이 있는 경우 구성을 O_DIRECT#로 설정해야 합니다. 🎜🎜## 그렇지 않으면 대부분의 경우 fdatasync
#innodb_flush_method=fdatasync
# InnoDB 트랜잭션이 잠금을 기다려야 하는 시간
# InnoDB는 자신이 소유한 잠금 테이블에서 트랜잭션 교착 상태를 자동으로 감지하고
# LOCK TABLES 지시문을 사용하는 경우. , 또는 동일한 트랜잭션에서 InnoDB가 아닌 다른 트랜잭션 안전 스토리지 엔진을 사용하면
# InnoDB가 이를 인지하지 못한 채 교착 상태가 발생할 수 있습니다.# 🎜🎜#
# 이 경우 , 이 시간 초과 값은 이 문제를 해결하는 데 매우 유용합니다. innodb_lock_wait_timeout = 120# 이 설정은 InnoDB가 모든 테이블의 데이터와 인덱스를 공유 테이블 공간에 저장해야 하는지(innodb_file_per_table = OFF) 또는 각 테이블의 데이터를 별도의 .ibd 파일에 배치해야 하는지(innodb_file_per_table = ON) 여부를 알려줍니다.# 🎜🎜#
# 테이블당 하나의 파일을 사용하면 테이블을 삭제하거나 자르거나 재구축할 때 디스크 공간을 확보할 수 있습니다. # 이는 데이터 압축과 같은 일부 고급 기능에도 필요하지만 성능 향상을 가져오지 않습니다 innodb_file_per_table = on[mysqldump]# 메모리의 전체 결과를 디스크에 쓰지 마십시오. 이전에 캐시되었습니다. 이는 매우 큰 테이블을 내보낼 때 필요합니다. 🎜#no-auto-rehash# 키-값 업데이트 및 삭제만 허용됩니다. #safe-updates[myisamchk]# 🎜🎜#
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 8M
#🎜 🎜#write_buffer = 8M# 🎜🎜##🎜🎜 #[mysqlhotcopy]interactive-timeout[mysqld_safe]#당 열린 파일 수를 늘립니다. process.# 🎜🎜## 경고: 시스템 전체 제한을 충분히 높게 설정했는지 확인하세요.
# 많은 수의 테이블을 열려면 이 값을 높게 설정해야 합니다. # 🎜🎜#
open-files-limit = 8192위 내용은 MySQL 구성 매개변수에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!