본문 바로가기

지적자본/나스 서버

큐냅 my.cnf 경로와 바이너리 로그 기간 설정하기

by 디런치 2022. 12. 16.

큐냅의 일반적인 리눅스 서버와 다른 경로 주소와 세팅방법들이 존재한다. 필자는 이전에 바이너리 로그(mysql-bin.XXXXXX)들의 생성으로 인해서 용량 문제에 대해서 포스팅한 적이 있다. 이전글은 여기를 클릭해서 확인해 보길 바란다. 문제는 일반적으로 용량문제로 인해서 mysql 은 기본적으로 바이너리 로그 저장기능이 꺼져 있다고 하는데, 필자가 사용하는 큐냅의 경우는 설정을 따로 한 적이 없지만, 결과적으로 이 기능으로 인해서 3tb의 기본용량이 한달이면 가득차서 매번 비워줘야 하는 불편을 겪고 있다.

 

여기서 바이너리 로그가 뭔지 몰라도 된다. 다만 이 로그는 추후 데이터베이스의 문제가 발생되는 경우 복구용으로 사용된다. 그래서 DB의 문제가 생기면 자동으로 저장하는 기능인데, 일단, DB의 용량이 작은 경우는 크게 문제가 되지 않지만, 필자의 경우는 그냥 넘어가기 어려운 수준의 용량이라 반드시 지워줘야 한다.

 

문제는 이전에 소개한 글에서 특정 기간의 모든 바이너리 로그를 삭제하도록 세팅을 할 수 있는 방법을 소개했다. 사실 구글릴을 통해서 살펴보면, 대부분은 테미널로 들어가 '

 

 

SET GLOBAL expire_logs_days = 5;

 

 

위의 명령어를 통해서 설정 값 기간동안의 바이너리 로그만 저장하고 이전의 로그는 삭제하도록 세팅하는데, 필자의 큐냅 나스의 경우는 계속 이것을 설정해도 일정 기간이 지나면 다시 0으로 바뀌어 계속 바이너리 로그가 쌓이는 문제가 발생한다는 것이다.

 

그런데 mysql의 경우는 my.cnf의 파일으르 설정해서 이러한 세팅을 별도록 할 수 있다는 글을 보았다. 그런데 중요한 것은 도대체 큐냅 나스의 my.cnf 파일이 어디있냐는 것이다. 아무리 찾아봐도 없지만 결국 찾았다.

 

일단 먼저 이 파일을 보기 위해서 시스템 파일을 볼 수 있도록 해야 하는데, 이것 역시 여기를 확인하면 간단히 볼 수 있다. 일단 시스템 파일을 볼 수 있다면 아래 경로로 들어간다.

 

 

 

/share/CACHEDEV1_DATA/.qpkg/MariaDB/etc

 

 

 

 

위의 경로로 들어가면 파일 중 mariabd.conf 라고 일반적으로 있지만, 필자의 경우는 conf 파일은 mariabd.status.conf 라는 파일명으로 되어 있었으며 이를 원형으로 보존하는 디폴트값은 mariabd.status.conf.default, mariabd.conf.default 이렇게 파일이 되어 있었다. 

 

아마도 추측하건데, 이 디폴트값이 설정되어 있어서 설정을 해서도 계속 0으로 바뀌는 듯 했다. 따라서 이 세가지 파일의 [myaqld] 항목 아래 아래와 깉이 추가해주었다.

 

 

 

[mysqld]
expire_logs_days=3

 

 

 

일단 이렇게 세팅하고 시간을 두고 잘 작동하는지 체크해볼 예정이며, 혹시 별다른 글의 수정이 없다면, 위의 방법이 잘 작동되고 있는 것이다. 문제가 있거나 작동이 되지 않을 땐 다시 추가하겠다.

반응형


댓글