Adventure Time - Jake MariaDB(MySQL) 서비스 1067 오류 & 바로 꺼지는 문제 기록
본문 바로가기
Back-end/SQL

MariaDB(MySQL) 서비스 1067 오류 & 바로 꺼지는 문제 기록

by bogyoi 2026. 1. 20.

1. 문제 상황

① DB 접속 시 1061 연결 오류 발생

  • HeidiSQL 등에서 로컬 DB 접속 불가 (127.0.0.1)
  • 에러 코드: 1061 / 연결 거부
  • 다른 pc인 서버쪽 DB는 정상 접속이 되었음.

② Windows 서비스 확인 → MySQL(MariaDB) 서비스 중지 상태

  • services.msc 확인 결과
    • MySQL(MariaDB) 서비스가 실행 중이 아님

그래서 서비스를 직접 시작 시도.


③ 서비스 시작 시 1067 오류 발생

  • 서비스 시작 버튼 클릭 시
    • 오류 1067: 프로세스가 예기치 않게 종료되었습니다

이 시점에서:

  • mysqld가 기동 중 mysql 시스템 테이블(권한/통계)을 읽다가 크래시
  • 서비스가 즉시 종료됨

2. 로그 분석

- 경로

<MariaDB 설치 경로>/data/DESKTOP-F52LF5I.err

DESKTOP-F52LF5I.err 파일에 들어가 로그를 보니

 

2026-01-14 11:20:10 44208 [ERROR] InnoDB: Column table_name in table `mysql`.`innodb_table_stats` is VARCHAR(597) NOT NULL but should be VARCHAR(192) NOT NULL (length mismatch).
2026-01-14 11:20:10 44208 [ERROR] InnoDB: Fetch of persistent statistics requested for table `mysql`.`gtid_slave_pos` but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.
2026-01-14 11:20:10 51208 [Note] InnoDB: Buffer pool(s) load completed at 260114 11:20:10
2026-01-14 11:20:10 14736 [Note] Reading of all Master_info entries succeded
2026-01-14 11:20:10 14736 [Note] Added new Master_info '' to hash table
2026-01-14 11:20:10 14736 [Note] C:\Program Files\MariaDB 10.2\bin\mysqld.exe: ready for connections.
Version: '10.2.14-MariaDB'  socket: ''  port: 0  mariadb.org binary distribution
2026-01-14 11:20:10 14736 [ERROR] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
2026-01-14 11:20:10 14736 [ERROR] Aborting

 

이런 에러들이 있었고.. 버전 업/재설치/데이터 디렉터리 변경/ibdata1 재초기화 같은 이력 때문에 mysql DB 안에 있는 시스템 InnoDB 테이블(통계/복제 관련)”구조가 현재 서버가 기대하는 구조와 달라진 상태

→ 즉, InnoDB 테이블쪽의 구조 불일치, 권한/통계 로딩 단계에서의 문제인 것 같아요

 

④ my.ini 옵션 추가

서비스 기동을 위해 my.ini에 아래 옵션을 추가함.

 
[mysqld]
skip-grant-tables
 
  • skip-grant-tables
    → 권한 테이블 무시 → 크래시는 우회됨
 
  • 서비스가 즉시 종료되지 않고 정상적으로 실행 상태 유지
  • mysql 권한(ACL) 테이블을 아예 읽지 않음
  • 권한 테이블에서 발생하던 크래시 우회
 
 

⑤ 서비스 시작 성공

  • 1067 오류 없이 MySQL(MariaDB) 서비스가 정상적으로 “실행 중” 상태로 유지

⑥ DB 접속 재시도 → 정상 접속

  • HeidiSQL / 로컬 DB 접속 성공
  • 데이터 정상 확인 가능

결론적으로 문제는 DB 엔진 자체가 아니라 mysql 시스템 테이블(권한/통계) 로딩 단계에서 발생한 크래시.


3. 핵심 포인트 정리 

  • 1061 오류의 원인
    • DB 접속 문제 ❌
    • 네트워크 문제 ❌
    • 포트 충돌 ❌
    • 👉 애초에 DB 서비스가 실행 중이 아니었음
  • 1067 오류의 원인
    • 서비스 자체 문제 ❌
    • 설치 문제 ❌
    • 👉 mysql 시스템 테이블 손상으로 mysqld가 기동 중 크래시
  • skip-grant-tables의 역할
    • 권한 테이블을 건너뛰어 크래시 지점을 우회
    • 서비스 기동 가능
    • DB 접속 가능

skip-grant-tables 상태는 복구용 임시 상태다.

  • 비밀번호 무시
  • 권한 체크 없음
  • 운영 환경에 그대로 두면 보안 사고 위험

반드시:

  1. mysqldump로 백업
  2. mysql_upgrade 또는
  3. 새 datadir로 재구성 후 정상화 필요

 
1061은 결과였고, 1067이 원인이었다. mysql 서비스가 죽어 있던 이유는 권한 테이블 로딩 단계에서의 크래시였고,
skip-grant-tables은 그 지점을 우회해 서버를 살린 임시 해결책이다.
 
 
참고
https://blog.naver.com/hanajava/220828705374