3일동안 안보기

MariaDB

mariadb, mysql - mysql 5.x my.cnf 설정 튜닝

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 2,499회 작성일 25-02-07 07:26

본문

my.cnf skip_name_resolve # 역DNS 검색 비활성 skip-external-locking # 외부(TCP/IP) 잠금비활성 max_connections = 300 # 최대 동시접속 연결 갯수 max_connect_errors = 100000 # 서버가 차단되기 전에 최대 연결 오류수 max_allowed_packet = 16M # 요청된 쿼리의 최대길이의 값 key_buffer_size = 1G # 인덱스를 메모리에 저장하는 버퍼의 크기 (myisam 을 사용할 경우 크게, table_open_cache = 512 # 각 쓰레드별 오픈할 테이블수 sort_buffer_size = 2M # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와관련 join_buffer_size = 4M # 적절한 조인 조건이 없어서, 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기 read_buffer_size = 2M # 테이블 스캔에 필요한 버퍼크기 read_rnd_buffer_size = 8M # order by 절을 사용할 경우 디스크 사용을 피하기 위하여 사용하는 메모리 버퍼 크기 thread_cache_size = 16 # 재사용을 위해 캐쉬될 쓰레드의 수 read_rnd_buffer_size = 16M # 인덱스를 사용해 정렬할 수 없을 경우 정렬된 데이터를 메모리에 저장하여 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기 myisam_sort_buffer_size = 128M query_cache_size = 1G # 쿼리 결과를 캐싱하기 위해 할당된 메모리크기 query_cache_limit = 4M # 이 변수 값보다 큰 값은 캐싱이 안됨, 설정저장가능한 최대 results크기(디폴트:1M) 보통 query_cache_size의 1~10%정도 설정 tmp_table_size = 128M # 메모리 내의 임시테이블 크기 초과시 디스크에 저장,group by 시 디스크를 사용하지 않고 임시 테이블을 만들기 위해 사용되는 메모리 크기 max_heap_table_size = 128M # MEMORY 테이블의 최대크기 thread_concurrency = 8 # 동시 쓰레드 갯수 back_log = 100 # 동시접속시 대기시킬수있는 커넥션 갯수 wait_timeout = 30 # 커넥션 최대 대기시간(초), 종료전까지 요청이 없이 기다리는 시간 ( TCP/IP 연결, Shell 상의 접속이 아닌 경우 ) slow-query-log = 1 # 슬로우 쿼리로그 활성화 long_query_time = 3 이 변수값보다 쿼리처리가 길게 걸린다면 슬로우쿼리 로그에 기록 log-slow-queries = /path_to_log/mysql-slow.log # 슬로우 쿼리 로그파일 경로 binlog_cache_size = 1M #binlogchase 사이즈 max_binlog_size = 500M # bin로그 max 사이즈 expire_logs_days = 10 #보관기간 # innodb innodb_data_home_dir = /Data # innodb 홈디렉터리 경로 innodb_data_file_path = ibdata1:1000M;ibdata2:1000M;ibdata3:1000M:autoextend # 파일명 : 초기용량 : 자동증가 : 최대사이즈 innodb_autoextend_increment = 100 #테이블 스페이스 자동 확장시 크기 # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high innodb_buffer_pool_size = 2G # innodb에서 사용할 메모리 양으로 전체 메모리의 50~80% 정도로 설정 innodb_additional_mem_pool_size = 20M # 데이터 디렉토리 정보와 내부 데이타 구조를 저장하는 메모리 풀의 크기 # Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size = 100M # 로그 파일 사이즈로 버퍼풀 사이즈의 25% 정도로 설정 innodb_log_buffer_size = 16M # 리두 로그를 파일에 직접 기록하기 전 메모리상에서 버퍼링을 하는데 이를 위한 버퍼 사이즈 # Redo logs # 0 인 경우, MySQL 이나 OS가 갑자기 crash 된다면 최대 1초동안의 트랜잭션을 잃을 수 있다. # 1 인 경우, 안전하다. # 2 인 경우, OS가 갑자기 crash 된다면 최대 1초동안의 트랜잭션을 잃을 수 있다. 하지만 MySQL 장애시에는 이미 OS 영역으로 데이터는 넘어갔기 때문에 안전할 수 있다. # 각 값에 따라, 엄청난 성능을 보일 수 있다. # 많은 양의 log를 위하여, 해당값을 1에서 0으로 수정함에 따라 성능이 엄청 향상될 수 있다. # 단순 select용의 slave나, 최대 1초정도의 트랜잭션은 무시할 수 있는 서비스 혹은 log를 저장할 서버라면 해당값을 1에서 0으로 변경할 수 있다. # MySQL을 가장 빠르고 쉽게 튜닝할 수 있는 parameter 중의 하나이다. innodb_flush_log_at_trx_commit = 1 # 1=트랜젝션 실행할때마다 로그 파일에 기록되고 디스크 플러시가 실행 innodb_support_xa = OFF # 트렌젝션 two-phase commit 지원, 디스크 플러시 횟수를 줄여 성능항상 innodb_lock_wait_timeout = 50 # 롤백이 진행되기 전에 LOCK을 대기하는 시간(초) innodb_file_per_table = 1 # 테이블 단위로 테이블스페이스 할당, 활성시 확장자 .ibd 파일이생성됨 innodb_flush_method = O_DIRECT # #DB별 데이터 사용량 체크 mysql> select information_schema.tables.table_schema, sum(data_length) -> from information_schema.tables -> group by information_schema.tables.table_schema; #모니터링 및 초기화 명령어 mysql> show status - MySQL 데이타베이스의 현재 상황 mysql> show Processlist - MySQL 프로세스 목록 mysql> show variables - 설정 가능한 모든 변수 목록 mysql> flush logs - MySQL의 로그파일 초기화 mysql> flush status - MySQL 상태정보 초기화 mysql> flush thread - 쓰레드 캐시에 저장된 쓰레드 초기화 mysql> flush tables - MySQL에 캐싱된 테이블 초기화 mysql> flush privileges - 권한정보 재 설정

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

회원 로그인

포인트랭킹

1 밤통령 320,000점
2 불꽃남자 70,000점
3 보라돌이 47,000점
4 제로나인 33,000점
5 소프리 7,800점
6 딸기케이크 6,000점
7 딸기케이크 6,000점
8 그해우리는 6,000점

포인트랭킹

1 밤통령 320,000점
2 불꽃남자 70,000점
3 보라돌이 47,000점
4 제로나인 33,000점
5 소프리 7,800점
6 딸기케이크 6,000점
7 딸기케이크 6,000점
8 그해우리는 6,000점

검색랭킹

1 2023 new
2 우분투 1
3
4
5
6
7
8
9
10

자유게시판

  • 게시물이 없습니다.

자유게시판

게시물이 없습니다.

접속자집계

오늘
83
어제
121
최대
2,047
전체
133,772