mysql> show variables like '%log%';
+-----------------------------------------+------------------------------------+
| Variable_name | Value |
+-----------------------------------------+------------------------------------+
| back_log | 50 |
= 백로그 설정.
일반적으로 OS 커널의 소켓 당 백로그 ( somaxconn ) 값보다는 작아야 함.
| binlog_cache_size | 32768 |
= 바이너리 로그(트랜젝션되는) 기록 전 선행 캐쉬값 설정.
이 수치보다 큰 트랜잭션은 disk ( tmpdir ) 에 임시파일을 쓰게 됌.
= cache_disk_use의 value 가 많아지는 경우, 이 값을 늘리면 좋다.
| binlog_direct_non_transactional_updates | OFF |
= Slave 서버에서 트랜잭션 + 비 트랜잭션의 동시 프로세스가 일어날 경우 문제.
enable 해 주면, cache 등의 과정을 생략하고 무조건 바이너리 로그에 바로 기록.
| binlog_format | STATEMENT |
= 바이너리 로그 포맷 설정. STATEMENT(쿼리 순차)가 Default.
ROW(데이터 기반), MIXED(다이나믹) 등이 더 있으며
5.7.6이상에서는 ROW 가 Default 이다.
| expire_logs_days | 2 |
= 바이너리 로그 보관 기간. default 는 0으로 기간없이 저장함.
디스크 용량 purge 로 확보하는 것보다, 이 기간을 설정해 두면 좋음.
| general_log | OFF |
= 실행 쿼리를 기록하는 General_log 설정.
= 쉘 상에서 입력 실행을 받는순간, 실행보다 먼저 기록되는 수준으로
잘못된 쿼리나, 명령어까지 그대로 기록하는 로그임.
Binary Log 는 쿼리 처리 후 변경된 시점/결과를 기록하는 것으로 쿼리구문이 없음. 주로 특정 시점 복구나, 리플리케이션에 사용함. 용도가 다름.
| general_log_file | /usr/local/mysql/var/Web1.log |
= General_log 의 파일명 및 경로 설정. my.cnf 에도 지정 가능.
| innodb_flush_log_at_trx_commit | 1 |
= innodb 의 쿼리 로그 실행시 패턴 설정
0 : 쿼리 실행시 실행/취소 여부 상관없이, 1초 간격으로 메모리 버퍼에서 디스크 쓰기 후 flush 실행
( 1보다 빠름. 문제 발생시 0~1초 사이의 log 가 유실될 수 있음 )
1 : 쿼리 실행시, 우선 로그를 버퍼->디스크까지 다 쓰고, 결과/취소가 결정 후 flush.
( 0 보다, 디스크 입출력 횟수가 증가하지만, log 손실이 없는 안정적 방법 )
2: 혼합. 로그를 버퍼에 우선 다 밀어넣지만 디스크로 flush 를 하지 않음.
대신 실행/취소 결과 결정 시 1초 간격으로 디스크로 flish 함.
( MySQL 장애 시에도 로그 보존. 단 OS 리부팅 시 0~1초 문제 생길 수 있음 )
| innodb_locks_unsafe_for_binlog | OFF |
= innodb 의 검색과 인덱싱에서 next_key_locking 활성화 여부.
| innodb_log_buffer_size | 1048576 |
= 바이트. innodb에서 트랜잭션을 버퍼에 기록하는 용량. 1~8MB 지정 가능.
트랜잭션의 크기보다 이 버퍼가 클 경우, disk기록하지 않고 메모리에서 바로 commit 처리하므로 속도 향상 가능.
| innodb_log_file_size | 5242880 |
= 그룹의 innodb log 파일사이즈이며 최대 4G까지 가능.
이 값이 크면, 플러시 횟수가 줄어, 속도는 향상되지만, 장애 발생시 시점, 처리복구 인덱싱 시간이 오래 걸리는 점을 유의.
| innodb_log_files_in_group | 2 |
= 그룹 안에서 innodb log 파일 갯수. 디폴트는 logfile0, 1의 2개로 구성.
| innodb_log_group_home_dir | ./ |
= 로그파일의 위치. 디폴트는 MySQL data 경로.
| innodb_mirrored_log_groups | 1 |
= 보존용 복제 log 의 개수. 보통은 변경하지 않는다.
| log | OFF |
= general , binary 등으로 대체되었으므로, 건드릴 필요 없음.
| log_bin | ON |
= binary log 활성화 유무
| log_bin_trust_function_creators | OFF |
| log_bin_trust_routine_creators | OFF |
| log_error | /usr/local/mysql/var/Web1.err |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | ON |
| log_warnings | 1 |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_size | 1073741824 |
| max_relay_log_size | 0 |
| relay_log | |
| relay_log_index | |
| relay_log_info_file | relay-log.info |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/var/Web1-slow.log |
| sql_log_bin | ON |
| sql_log_off | OFF |
| sql_log_update | ON |
| sync_binlog | 0 |
+-----------------------------------------+------------------------------------+
38 rows in set (0.00 sec)
환경변수 제어는 set global 로 대부분 실시간 제어가능 합니다
flush privileges; 는 기본으로 달고 살면 좋겠죠.
'Linux ( Cent OS ) > MySQL' 카테고리의 다른 글
CentOS MySQL Yum Repository (0) | 2019.06.19 |
---|---|
[실무 예시] MySQL Table 비우기 (0) | 2019.05.13 |
7. Binary Log 삭제 (0) | 2019.05.02 |