'Error establishing a database connection(데이터베이스 연결 오류)'이라는 메시지는 워드프레스가 웹사이트의 데이터베이스에서 데이터를 가져오지 못할 때 표시됩니다. 워드프레스는 메타 정보, 게시물 데이터, 로그인 정보, 플러그인 설정, 페이지 데이터 등 거의 모든 정보를 데이터베이스에 저장합니다. 다만 테마, 이미지, 워드프레스 코어 파일은 데이터베이스에 저장되지 않습니다.
누군가 웹사이트에 접속하면 PHP 쿼리가 실행되어 데이터베이스에서 필요한 데이터를 가져오게 되는데, 이 과정이 어떤 이유로든 실패하면 위와 같은 오류가 발생합니다. 즉, 워드프레스가 데이터베이스에서 해당 데이터를 읽어오지 못했다는 뜻입니다.

이 오류 메시지는 매우 흔하게 나타나며, 웹 서버에서 워드프레스를 운영해 본 경험이 있다면 한 번쯤은 마주쳤을 가능성이 높습니다. 이 글에서는 해당 오류의 주요 원인을 살펴보고, 문제를 해결할 수 있는 구체적인 방법들을 단계별로 안내해 드리겠습니다.
워드프레스에서 '데이터베이스 연결 오류'가 발생하는 원인
워드프레스가 데이터베이스 서버에 연결하지 못하는 원인은 다양하지만, 가장 흔한 원인들은 다음과 같습니다.
- 잘못된 데이터베이스 로그인 정보: 가장 대표적인 원인입니다. wp-config.php에 입력된 데이터베이스 사용자 이름이나 비밀번호가 올바르지 않으면 워드프레스는 데이터베이스 서버에 연결할 수 없습니다.
- 손상된 데이터베이스: 데이터베이스 내 일부 테이블이나 컬럼이 손상되면 워드프레스가 필요한 데이터를 정상적으로 읽어오지 못해 이 오류가 발생할 수 있습니다.
- 데이터베이스 서버 문제: 호스팅 업체의 데이터베이스 서버가 다운되었거나 접속 불가 상태일 때도 동일한 오류가 나타납니다.
- 손상된 워드프레스 파일: 해킹 등으로 인해 워드프레스 설치 디렉터리의 파일이 변조되거나 삭제된 경우에도 이 오류가 발생할 수 있습니다.
- PHP 메모리 부족: 웹 서버의 PHP 메모리가 부족하면 오류가 발생할 수 있으며, 이 경우 php.ini 파일에서 메모리 제한을 늘려야 합니다.
해결 방법 1: wp-config.php 파일 확인하기
오류를 수정하기 위해 가장 먼저 할 일은 워드프레스 설치 디렉터리에 있는 wp-config.php 파일을 확인하는 것입니다. 파일 내용이 변경되거나 손상되지 않았는지 살펴보세요.
호스팅 cPanel의 파일 관리자를 이용하거나, Filezilla 같은 FTP 프로그램으로 웹 서버에 접속한 후 파일을 열어 확인할 수 있습니다.
파일에 접근했다면 아래 코드가 올바르게 입력되어 있는지 확인하세요.
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost')
DB_HOST 값은 데이터베이스 서버와 웹 서버의 IP 주소가 다른 경우 localhost가 아닐 수 있습니다. 특히 로컬 환경이 아닌 외부 호스팅을 이용하는 경우라면 호스팅 업체가 안내하는 값을 입력해야 합니다.
해결 방법 2: 테스트용 더미 연결 시도하기
다음으로, 데이터베이스 계정의 사용자 이름과 비밀번호로 실제 연결이 가능한지 테스트해 보세요.
웹사이트 루트 디렉터리에 testdatabaseconnection.php라는 새 파일을 만들고 아래 내용을 입력한 뒤, 브라우저에서 해당 파일에 접속합니다. 'Connected successfully'라는 메시지가 표시되면 MySQL 데이터베이스 서버에는 문제가 없는 것입니다.
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
username과 password 부분은 반드시 실제 데이터베이스 계정 정보로 변경하세요. 계정 정보를 모르겠다면 호스팅 cPanel의 데이터베이스 섹션에서 확인할 수 있습니다.
연결 실패 메시지가 표시된다면 입력한 사용자 이름과 비밀번호가 정확한지 다시 확인해야 합니다. 또는 모든 권한을 가진 새 데이터베이스 사용자를 생성한 뒤, 해당 계정으로 위 방법을 다시 테스트해 보세요. 연결에 성공하면 wp-config.php의 사용자 이름과 비밀번호를 새로 만든 계정 정보로 변경하면 됩니다.
해결 방법 3: 데이터베이스 복구하기
위 방법들로도 해결되지 않는다면 데이터베이스 자체가 손상되었을 가능성이 있습니다. 다행히 워드프레스에는 데이터베이스 복구 모드가 내장되어 있으며, wp-config.php에 한 줄만 추가하면 활성화할 수 있습니다.
- wp-config.php 파일에 아래 코드를 추가하고 저장합니다.
define('WP_ALLOW_REPAIR', true); - 브라우저에서 아래 주소로 접속하여 데이터베이스 복구 모드를 실행합니다.
https://yourdomain.com/wp-admin/maint/repair.php
- yourdomain.com 부분은 실제 사용 중인 도메인으로 변경하세요.
- 페이지에 접속한 후 'Repair Database(데이터베이스 복구)' 버튼을 클릭합니다.

복구 작업은 몇 분 정도 소요될 수 있으며, 완료된 후 오류가 사라졌는지 확인해 보세요. 참고로 복구가 끝나면 보안을 위해 wp-config.php에 추가한 코드를 삭제하는 것이 좋습니다.
해결 방법 4: phpMyAdmin에서 SQL 쿼리 실행하기
호스팅 cPanel의 phpMyAdmin(데이터베이스를 관리할 수 있는 웹 기반 도구)에서 아래 SQL 쿼리를 실행하여 오류를 해결했다는 사례도 있습니다.
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
YOUR_SITE_URL 부분은 실제 사이트 주소로 변경한 후 실행하고, 오류가 해결되었는지 확인해 보세요.
해결 방법 5: 워드프레스 코어 파일 재설치하기 (걱정 마세요, 콘텐츠는 그대로 유지됩니다)
위의 모든 방법을 시도했는데도 문제가 해결되지 않았다면, 워드프레스 코어 파일을 다시 설치해 보는 것이 좋습니다. 이 과정에서 게시물이나 설정은 삭제되지 않으니 안심해도 됩니다.
- WordPress.org에 접속하여 최신 버전의 워드프레스 zip 파일을 다운로드합니다.
- Filezilla로 웹 서버에 접속한 후 워드프레스 설치 디렉터리로 이동합니다.
- 해당 디렉터리에서 'wp-content' 폴더와 'wp-config-sample.php' 파일을 삭제한 뒤, 다운로드한 워드프레스 zip 파일을 업로드합니다. 업로드 후에는 하위 폴더가 아닌 현재 디렉터리에 바로 압축을 해제해야 합니다.

- 압축 해제는 Filezilla 또는 대부분의 웹 서버에서 지원하는 cPanel 파일 관리자를 통해 진행할 수 있습니다.
- 완료되었다면 웹사이트에 다시 접속하여 오류가 해결되었는지 확인하세요.