🧾 MySQL 설치 오류 리포트
✅ 시스템 정보
• OS: Ubuntu (ARM64 기반)
• 환경: LAMP 스택 구성 중 (Apache, PHP, MySQL)
• 문제 발생 시점: mysql-server 설치 이후 systemctl로 실행 시도
❗ 오류 코드
error 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
systemctl 로그:
mysql.service: Failed with result 'exit-code'
/etc/init.d/mysql: WARNING: /etc/mysql/my.cnf cannot be read.
🔍 원인 분석
• MySQL이 정상 설치되지 않았거나, 중간에 손상되면서 /etc/mysql/my.cnf 설정 파일이 없거나 읽을 수 없는 상태로 유지됨.
• systemctl status mysql 시도 시 설정 파일 미존재로 인해 mysqld 데몬이 시작 실패.
• 이 상태에서 mysql 명령어는 소켓(/tmp/mysql.sock)을 찾지 못해 error 2002 발생.
• 추가적으로 dpkg -l | grep mysql 결과, MySQL 관련 패키지 일부가 남아 있었고, mariadb-common 도 섞여 있어 패키지 간 충돌 가능성 존재.
🛠 해결 방법
- 다음 명령어로 관련 패키지 전부 삭제: (DB가 있을 시 X)
sudo apt purge dbconfig-mysql libmysqlclient-dev libmysqlclient21 mysql-client-8.0 mysql-client-core-8.0 mysql-common mysql-server mysql-server-8.0 mysql-server-core-8.0 php-mariadb-mysql-kbs php-mysql php8.3-mysql mariadb-common -y
- 설정, 데이터, 로그 파일 모두 수동 삭제:
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql* /var/run/mysqld
- 시스템 정리:
sudo apt autoremove -y
sudo apt autoclean
- 재설치:
sudo apt update
sudo apt install mysql-server -y
✅ 결과
• MySQL이 정상적으로 설치되고 실행됨
• systemctl status mysql → active (running)
• sudo mysql 접속 가능
• PHP 연동 테스트 및 웹서버 정상 작동 확인
💡 결론 및 예방 조치
• 설치 중단, 꼬인 설치, 의존성 충돌 발생 시 불완전한 설정 파일 상태로 남을 수 있음.
• MySQL이나 MariaDB 같은 DB 서비스는 설정 파일이 필수이므로 my.cnf 경로 오류 시 바로 점검 필요.
• dpkg -l | grep mysql 으로 설치된 패키지 현황 확인 및 정리 후 재설치가 가장 깔끔한 해결 방법임.
'Information Technology > 에러일기' 카테고리의 다른 글
Connection failed: connection timed out. No more addresses to try. - termius (0) | 2025.04.13 |
---|---|
sudo python3 -m http.server 80 접속 오류 (0) | 2025.04.13 |