WordPress를 Docker로 배포할 때 "데이터베이스 연결 중 오류" 문제가 발생하는 경우가 있습니다. 이 글에서는 해당 문제의 원인을 분석하고 해결하는 방법을 차근차근 설명하겠습니다.
🔍 1. 오류 원인 분석
"데이터베이스 연결 중 오류" 메시지는 WordPress가 MySQL 데이터베이스에 접근하지 못할 때 발생합니다.
주요 원인은 다음과 같습니다:
- MySQL 컨테이너 이름이 올바르지 않음 →
WORDPRESS_DB_HOST
설정 문제 - MySQL이 정상적으로 실행되지 않음 → 컨테이너 상태 확인 필요
- MySQL 사용자 계정 문제 →
wpuser
계정이 없거나 비밀번호 불일치 - 네트워크 문제 → 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
설정과 사용자 계정을 다시 확인하세요.
🔚 결론
🚀 해결 방법 요약
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
로 재시작- MySQL 내부에서
wpuser
계정 확인 - WordPress 컨테이너에서 MySQL 접속 테스트 (
mysql -h wp-st-db-1 -u wpuser -p
)
이 단계를 따라 하면 "데이터베이스 연결 중 오류" 문제를 해결할 수 있습니다. 🎉
도움이 되었길 바랍니다! 🙌
'IT&DEV - IT & 개발 > ETC' 카테고리의 다른 글
[OMV6]Nginx Proxy Manager - an upstream response is buffered to a temporary file (0) | 2025.03.12 |
---|---|
Docker환경에 springboot+mysql 구동 - portainer 활용 (0) | 2025.03.11 |
한국투자증권 OpenAPI에서 웹소켓(WebSocket) 방식을 사용할 때의 장점과 단점 (0) | 2025.03.11 |
[Mac] Homebrew 설치하기 (git 설치) (0) | 2025.01.10 |
워드프레스 도메인 변경 (WordPress 주소 변경) (1) | 2024.12.30 |
댓글