본문 바로가기
DATABASE/MariaDB

[MariaDB][Linux] Log Setting (2) - Error Log 설정하기

by DANEW 2024. 2. 2.

MariaDB Error Log 설정

MariaDB에는 기본으로 기록하는 Log 인 Error 로그가 있다.

 

Error Log는 따로 On/Off의 개념은 없지만, Log 파일이 설정되어 있지 않아서 저장되고 있지 않기에 로그를 저장하기 위해 로그 파일의 위치를 설정해주도록 한다.

 

Error Log

MariaDB의 Error Log는 서버의 운영 중에 발생한 심각한 오류나 테이블 손상, MariaDB 서비스 On/Off등에 대한 중요 정보에 대해서 기록하며, 기록의 자세한 내용을 옵션으로 조절 할 수 있다.

 

Error Log 설정 확인

mysql
> show variables like '%log_error%';

 

아직 Log 파일이 설정되어 있지 않는 상태이다.

해당 로그파일 경로에 절대 경로 혹은 DATA File Directory의 상대 경로 값을 넣을 수 있다.

 

Error Log 저장 파일 설정

Error Log는 동적 옵션이 적용되지않는 시스템 변수이다.

즉, 로그 파일 설정은 my.cnf의 시스템 설정파일에서 해야하며, MariaDB 서비스를 재시작해서 반영 할 수 있다는 뜻이다.

 

아래의 동적 변수설정 명령어를 실행시 오류가 발생한다.

mysql
> set global log_error = '/data/mariadb/log/error_log.log';

 

ERROR 1238 (HY000): Variable 'log_error' is a read only variable

 

읽기전용 변수임을 확인 할 수 있다.

 

시스템 변수의 동적 변경이 되지않으므로 MariaDB 시스템 파일에서 수정하도록한다.

vi /etc/my.cnf.d/server.cnf

> 문서 내용 수정
-----------------------------
[mysqld]
log_error = /data/mariadb/log/error_log.log

 

 

시스템 파일의 내용을 적용하기 위해서 MariaDB 서비스를 재시작할 필요가 있다.

-- 중지
systemctl stop mariadb

-- 실행
systemctl start mariadb

 

재시작 후 Error Log파일의 설정을 확인해보면 변경됨을 확인 할 수 있다.

mysql
> show variables like '%log_error%';
반응형

 

Error Log 상세 상세 기록 수준 설정

기본적으로 MariaDB의 Error Log의 기록 수준은 Lv 2의 수준으로 기록되고 있으며, 아래의 명령어를 통해 값을 확인 할 수 있다.

mysql
> show variables like '%log_warnings%';

기록수준은 0부터 9까지 등급으로 나누어져 있는데 Lv 0이 제일 간략한 기록, Lv 9가 상세한 기록으로 기록이 상세해 질수록 시스템 성능에 영향을 줄 수 있기에 알맞는 옵션을 선택하는 것을 추천한다.

 

해당옵션은 시스템 변수를 동적으로 수정 할 수 있어 아래의 명령어를 통해 반영 할 수 있다.

mysql
> set global log_warnings = 3;

Lv 3으로 기록 수준을 변경 후 시스템 변수 값을 확인하면 변경됨을 알 수 있다.

이렇게 동적으로 변경 할 경우, MariaDB 서비스를 재 시작하면 기본 값으로 되돌아 가기에 MariaDB의 시스템 파일에서 수정하도록 한다.

vi /etc/my.cnf.d/server.cnf

> 문서 내용 수정
-----------------------------
[mysqld]
log_error = /data/mariadb/log/error_log.log
log_warnings = 3

 

Comment

역시나 로그는 설정해두면 많은 도움이 된다.

Error Log의 경우 사실 이 값들은 전부 General Log에 포함되어 있기에 이중으로 쓴다고 생각 할 수 있지만, Error 값만 따로 쉽게 볼 수 있다는 점에서 많은 장점이 있다.

 

하지만 Table로 저장이 불가능하며, 동적으로 시스템 변수를 수정 할 수 없는점은 단점이다.

 

Related Posts

[MariaDB][Linux] Log Setting (1) - General Log, Slow Query Log 설정하기

반응형