gbmin's Tech Notes

서버 구축 및 유지보수, 클라우드 컴퓨팅, 네트워크 보안, IT 분야 기술 노트. :)

Tech Notes/Trouble Shooting

mysqld: File '/var/log/mariadb/binlog/bin.index' not found (Errcode: 13)

gbmin 2023. 6. 2. 10:20

mariadb 구동오류 사례

/var/log/mariadb/mariadb.log 로그를 살펴보니 아래와 같은 에러가 발생했다.

 

230602 09:24:12 [ERROR] mysqld: File '/var/log/mariadb/binlog/bin.index' not found (Errcode: 13)
230602 09:24:12 [Note] /usr/libexec/mysqld (mysqld 5.5.68-MariaDB) starting as process 11534 ...
230602 09:24:12 [ERROR] Aborting
230602 09:24:12 [Note] /usr/libexec/mysqld: Shutdown complete

 

 

조치 방법

이 오류 메시지에서 볼 수 있는 것은 "binlog/bin.index" 파일이 찾을 수 없다는 내용이다. 이 오류는 주로 파일 또는 디렉토리의 권한 문제로 인해 발생한다. "Errcode: 13"은 "Permission denied"를 나타내는데, 해당 파일 또는 디렉토리에 대한 액세스 권한이 없는 것을 의미한다.

해결과정

1. 누락된 파일 또는 디렉토리 복구: 먼저, "/var/log/mariadb/binlog" 디렉토리가 존재하는지 확인하고, 만약 없다면 해당 디렉토리를 생성한다. 그런 다음, "bin.index" 파일을 찾거나 복구한다. 파일이 없는 경우 MariaDB의 다른 인스턴스에서 해당 파일을 가져와서 복사하거나, 데이터베이스를 백업한 후에 다시 복구할 수 있다.

2. 파일 및 디렉토리 권한 설정: 오류 메시지는 파일 또는 디렉토리에 대한 권한이 없다고 나왔다. 따라서, 해당 파일과 디렉토리의 권한을 확인해야 한다. 권한에 문제가 있다면 아래와 같이 처리한다.

sudo chmod 755 /var/log/mariadb/binlog
sudo chown -R mysql:mysql /var/log/mariadb/binlog


3. MariaDB 재시작: 위와 같이 완료했다면 MariaDB를 재시작한다.

systemctl restart mariadb