피드로 돌아가기
Dev.toDatabase
원문 읽기
Init-file 방식을 통한 MySQL Root 권한 복구 및 인증 구조 최적화
How to Reset Your MySQL Root Password on Ubuntu (When Nothing Works)
AI 요약
Context
Laravel 애플리케이션의 DB 연결 중 SQLSTATE[HY000] [1045] Access denied 에러 발생. 기존 Ubuntu 환경의 Socket Authentication 방식에서 Password Authentication으로 전환되며 root 계정 접근 권한을 상실한 상황.
Technical Solution
--init-file옵션을 활용한 MySQL 부팅 시점의 권한 강제 갱신 구조 채택- 임시 SQL 파일을 생성하여
ALTER USER및FLUSH PRIVILEGES명령어를 실행하는 자동화 셸 스크립트 구현 chmod 600권한 설정을 통한 임시 초기화 파일의 보안 무결성 확보~/.my.cnf설정 파일 도입을 통한 CLI 접근 시 Password Prompt 제거 및 사용자 편의성 증대- Least Privilege 원칙에 기반하여 root 계정 대신 특정 DB 전용 Application User 생성 및 권한 분리 설계
실천 포인트
- root 계정 분실 시 `--skip-grant-tables` 대신 `--init-file`을 사용하여 보안 리스크 최소화 - 개발 환경의 편의성을 위해 `~/.my.cnf` 파일을 생성하고 권한을 600으로 제한하여 운영 - 운영 환경에서는 root 계정을 앱에 직접 연결하지 말고 전용 User를 생성하여 권한 범위 제한