본문 바로가기
IT&DEV - IT & 개발/ETC

WordPress "데이터베이스 연결 중 오류" 해결 방법 (Docker + MySQL)

by Hoft 2025. 3. 14.
728x90
반응형

WordPress를 Docker로 배포할 때 "데이터베이스 연결 중 오류" 문제가 발생하는 경우가 있습니다. 이 글에서는 해당 문제의 원인을 분석하고 해결하는 방법을 차근차근 설명하겠습니다.


🔍 1. 오류 원인 분석

"데이터베이스 연결 중 오류" 메시지는 WordPress가 MySQL 데이터베이스에 접근하지 못할 때 발생합니다.

주요 원인은 다음과 같습니다:

  1. MySQL 컨테이너 이름이 올바르지 않음WORDPRESS_DB_HOST 설정 문제
  2. MySQL이 정상적으로 실행되지 않음 → 컨테이너 상태 확인 필요
  3. MySQL 사용자 계정 문제wpuser 계정이 없거나 비밀번호 불일치
  4. 네트워크 문제 → WordPress 컨테이너가 MySQL에 접근 불가

이제 각 원인을 하나씩 점검하고 해결해 보겠습니다.


✅ 2. MySQL 컨테이너 상태 확인

우선, MySQL 컨테이너가 정상적으로 실행 중인지 확인합니다.

# 실행 중인 컨테이너 목록 확인
docker ps

출력 예시:

f41ff74f6789   mysql:5.7   "docker-entrypoint.s…"   2 months ago   Up 27 minutes   3306/tcp, 33060/tcp   wp-st-db-1

MySQL 컨테이너(wp-st-db-1)가 Up 상태라면 다음 단계로 진행합니다.
🚨 만약 컨테이너가 Exited 상태라면 로그를 확인하세요.

docker logs f41ff74f6789 --tail 50

로그에 MySQL init process failed 등의 메시지가 있으면 MySQL 컨테이너가 정상적으로 시작되지 않은 것입니다. 이 경우, 컨테이너를 삭제하고 다시 실행해야 합니다.

docker-compose down -v

docker-compose up -d

✅ 3. WordPress 환경 변수 확인 (WORDPRESS_DB_HOST 설정)

WordPress가 MySQL에 연결하려면 docker-compose.yml에서 WORDPRESS_DB_HOST가 올바르게 설정되어 있어야 합니다.

현재 docker ps 결과에서 MySQL 컨테이너 이름이 wp-st-db-1이라면, docker-compose.yml에서 다음과 같이 설정해야 합니다.

WORDPRESS_DB_HOST: wp-st-db-1

설정을 변경한 후, 컨테이너를 재시작하세요.

docker-compose down -v

docker-compose up -d

이제 WordPress가 MySQL에 정상적으로 연결될 것입니다. 🎉


✅ 4. MySQL 사용자 계정 확인

WordPress가 사용할 MySQL 계정(wpuser)이 정상적으로 생성되었는지 확인합니다.

# MySQL 컨테이너 내부에 접속
docker exec -it wp-st-db-1 mysql -u root -p

비밀번호를 입력한 후, 아래 명령어를 실행하세요.

SELECT User, Host FROM mysql.user;

출력 예시:

+---------+-----------+
| User    | Host      |
+---------+-----------+
| root    | localhost |
| wpuser  | %         |
+---------+-----------+

wpuser 계정이 없으면 아래 명령어로 추가하세요.

CREATE USER 'wpuser'@'%' IDENTIFIED BY 'password1234';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
FLUSH PRIVILEGES;

✅ 5. 네트워크 문제 확인

WordPress 컨테이너에서 MySQL에 접속할 수 있는지 확인합니다.

# WordPress 컨테이너 내부 접속
docker exec -it $(docker ps -qf "name=wordpress") bash

이후 MySQL에 접속 시도:

mysql -h wp-st-db-1 -u wpuser -p

✅ 정상적으로 접속되면 문제 해결! 🎉
🚨 오류가 발생하면 WORDPRESS_DB_HOST 설정과 사용자 계정을 다시 확인하세요.


🔚 결론

🚀 해결 방법 요약

  1. docker ps로 MySQL 컨테이너 이름 확인 (wp-st-db-1)
  2. docker-compose.yml에서 WORDPRESS_DB_HOST: wp-st-db-1로 설정
  3. docker-compose down -v && docker-compose up -d로 재시작
  4. MySQL 내부에서 wpuser 계정 확인
  5. WordPress 컨테이너에서 MySQL 접속 테스트 (mysql -h wp-st-db-1 -u wpuser -p)

이 단계를 따라 하면 "데이터베이스 연결 중 오류" 문제를 해결할 수 있습니다. 🎉

도움이 되었길 바랍니다! 🙌

728x90
반응형

댓글