오늘 오후 중에 윈도우 서버 컴퓨터가 강제 종료가 되버리는 증상이 발생하였습니다.
기존의 돌리던 프로그램들은 거의 다 Linux 환경으로 옮겨놨고, 남아있던게 MySQL이랑 Apache였는데 작업 도중 서버가 다운이 되버렸습니다.
다시 부팅을 하고 XAMPP로 기존의 프로그램을 실행했는데 Apache는 잘 돌아가는 반면 MySQL의 경우에는 기존의 사용하던 3306 Port로 열리지 않고 3307로 자동으로 Port가 변경되어 열리는 현상이 발생하였습니다.
[mysql] Error: MySQL shutdown unexpectedly.
This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method.
이상하게도 config.ini에서 포트를 3307로 바꾸면 정상 기동되지만, 3306으로 두면 죽는다.
처음에는 포트 충돌인줄 알고 확인을 해봤는데 그건 아니였다.


처음엔 “포트 충돌”로 오해하기 쉽지만, 콘솔에서 직접 기동해보니 시스템 권한 테이블인 `mysql.global_priv`가 손상되어 서버가 부팅 단계에서 멈췄다.
.\mysqld.exe --defaults-file="C:\xampp\mysql\bin\my.ini" --port=3306 --console

MariaDB 10.4 계열부터 사용자/권한 정보의 실데이터는 mysql.global_priv에 저장된다고 한다.
- 해당 테이블(Aria 엔진)의 인덱스 손상으로 부팅 중 “권한 테이블 오픈 실패 → 치명적 오류 → 종료” 흐름 발생.
- 3307에서만 잘 뜬 건 우연히 동시에 진행했던 포트 회피 설정 때문이었을 뿐, 근본 원인은 권한 테이블 손상이었다.
그래서 오프라인 점검/복구 시도 – aria_chk로 인덱스 검사를 진행했는데
.\aria_chk.exe --check "C:\xampp\mysql\data\mysql\global_priv"
.\aria_chk.exe --recover --backup --force "C:\xampp\mysql\data\mysql\global_priv"
`Index is corrupted ... doesn't have a correct index definition. You need to recreate it` 이라는 오류 메세지가 나왔다.
인덱스 정의 자체가 깨져 있어 복구 불가하고 초기본으로 교체 필요한 상태인것이다.
그래서 바로 데이터 손실 방지가 최우선이여서 백업 이후 진행해주었다.
그리고 혹여나 MySQL이 남아 있을 수 있어서 강제 종료를 진행해주었다.
taskkill /F /IM mysqld.exe 2>$null
mkdir C:\backup\mysql_sys_YYYYMMDD 2>$null
Copy-Item 'C:\xampp\mysql\data\mysql\*' 'C:\backup\mysql_sys_20251015' -Recurse
이후 XAMPP는 초기 시스템 테이블 사본을 global_priv로 덮어씌워주었습니다.
Copy-Item 'C:\xampp\mysql\backup\mysql\global_priv.*' 'C:\xampp\mysql\data\mysql\' -Force
콘솔에서 다시 MySQL을 실행해 테스트를 해보았더니
.\mysqld.exe --defaults-file="C:\xampp\mysql\bin\my.ini" --port=3306 --console

정상적으로 3306 Port로 바인딩이 되었습니다.
앞으로는 Linux환경으로 전부 옮길예정이라 위와같은 상태가 더 이상 발생하지 않기 위해
백업의 경우에는 Airflow로 주기적으로 진행을 하게 할 예정입니다.
감사합니다.
'Data Engineer' 카테고리의 다른 글
| UUID(Universally Unique Identifier)란? (0) | 2025.11.13 |
|---|---|
| CDC 파이프라인이란? 실시간 데이터 동기화의 핵심 기술 (2) | 2025.07.30 |
| Apache Airflow란? (3) | 2025.07.29 |
| Data Driven 이란? (3) | 2025.07.28 |
| 데이터 인프라 IaC 설계 철학: Monolithic vs Modular, 어떤 전략이 옳을까? (2) | 2025.07.21 |