Intro
안녕하세요
초보 DBA 다뉴입니다.
오늘도 여러 문제와 마주하며 해결해 나가는 하루인데요.
MariaDB 서비스를 내렸다가 다시 올리는 와중에 아래와 같은 메시지와 함께 올라오지 않았는데요.
Can't lock aria control file '/data/mariadb/mysql/aria_log_control' for exclusive use, error: 11.
어떤 에러이고, 어떻게 해결하게 되었는지 공유하는 시간을 가질까 합니다.
어떤 오류?
Can't lock aria control file 'aria_log_control' for exclusive use, error: 11.
실제 오류 메시지에는 aria_log_control 파일의 경로가 들어가있는데요.
MariaDB를 구동하기 위해 aria_log_control 파일이 잠금상태여야 하는데,
다른 곳에서 사용 중이라 잠금을 하지 못 하는 상태 인 것 같습니다.
오류가 발생한 이유
MariaDB의 세션을 kill 하였는데, kill한 세션이 내려가지 않는 상황이 있었습니다.
그래서 MariaDB의 서비스를 종료시키게 되었습니다.
systemctl stop mysql
다시 실행을 하려보니, 아래의 메시지와 함께 실행이 되지 않았습니다.
systemctl start mysql
Job for mariadb.service failed because a timeout was exceeded.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
이러한 메시지를 확인 후 MariaDB의 Error Log를 확인해 본 결과
[ERROR] mariadbd: Can't lock aria control file '/data/mariadb/mysql/aria_log_control' for exclusive use, error: 11. Will retry for 30 seconds
[ERROR] mariadbd: Got error 'Could not get an exclusive lock; file is probably in use by another process' when trying to use aria control file '/data/mariadb/mysql/aria_log_control'
[ERROR] Plugin 'Aria' init function returned error.
[ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
이러한 Error Log를 확인하게 되었습니다.
해결방법
과정
aria_log_control 파일을 도대체 어디서 쓰는지 확인이 필요 할 것 같은데요.
먼저 MariaDB의 상태를 확인
systemctl status mysql
여러 메시지 중에 눈에 딱 보이는게 있었습니다.
마지막 줄의 메시지였는데요. 아래와 같습니다.
CGroup: /system.slice/mariadb.service
└─3879 /usr/sbin/mariadbd
이제 리눅스에 실행 중인 프로세스를 확인할 차례인데요.
ps aux
3879의 PID를 가진 프로세스가 눈에보이네요.
해결
해당 프로세스를 킬 한 후 MariaDB를 재기동 하니 바로 실행이 되었습니다.
kill 3879
systemctl start mysql
이렇게 간단히 해결하게 되었네요.
Outro
과정은 복잡하고 다른걸 많이 찾아보게 되었지만 간단하게 해결하게 되었습니다.
kill한 프로세스에 대해서는 좀 더 알아봐야 할 것 같은데요.
역시 하나하나 알아가는 것이... 재미있고 불안하네요 ㅋㅋㅋ
다음에는 또 같은 오류로 헤매지 않았으면 하는 마음에 포스팅을 남기도록 합니다.
감사합니다.
'DATABASE > MariaDB' 카테고리의 다른 글
[MariaDB] Password 복잡도 설정 - simple_password_check Plugin (0) | 2023.12.06 |
---|---|
[MariaDB][Linux] MaxScale 설치 - Load Balancer (1) | 2023.08.03 |
[MariaDB][Linux] Galera Cluster 설치 - 이중화 / HA 구성 (1) | 2023.07.26 |
[MariaDB] 현재 Process 보는 방법 및 모니터링 팁 (0) | 2023.07.22 |
[MariaDB][Error] ERROR 1005 (HY000) (errno: 184 "Tablespace already exists") (1) | 2023.07.20 |
[MariaDB] mysqldump를 활용한 백업의 모든 것과 복원 (8) | 2023.07.19 |
[MariaDB] SQL 파일 실행 - 대용량 insert 문 (0) | 2023.07.17 |
[MariaDB][Linux] MariaDB 설치 - Server/Client 기본 설치 방법 (0) | 2023.07.15 |