Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

워드프레스 '데이터베이스 연결 오류' 완벽 해결 가이드

'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에 한 줄만 추가하면 활성화할 수 있습니다.

  1. wp-config.php 파일에 아래 코드를 추가하고 저장합니다.
    define('WP_ALLOW_REPAIR', true);
  2. 브라우저에서 아래 주소로 접속하여 데이터베이스 복구 모드를 실행합니다.
    https://yourdomain.com/wp-admin/maint/repair.php
  3. yourdomain.com 부분은 실제 사용 중인 도메인으로 변경하세요.
  4. 페이지에 접속한 후 '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: 워드프레스 코어 파일 재설치하기 (걱정 마세요, 콘텐츠는 그대로 유지됩니다)

위의 모든 방법을 시도했는데도 문제가 해결되지 않았다면, 워드프레스 코어 파일을 다시 설치해 보는 것이 좋습니다. 이 과정에서 게시물이나 설정은 삭제되지 않으니 안심해도 됩니다.

  1. WordPress.org에 접속하여 최신 버전의 워드프레스 zip 파일을 다운로드합니다.
  2. Filezilla로 웹 서버에 접속한 후 워드프레스 설치 디렉터리로 이동합니다.
  3. 해당 디렉터리에서 'wp-content' 폴더와 'wp-config-sample.php' 파일을 삭제한 뒤, 다운로드한 워드프레스 zip 파일을 업로드합니다. 업로드 후에는 하위 폴더가 아닌 현재 디렉터리에 바로 압축을 해제해야 합니다.워드프레스  데이터베이스 연결 오류  완벽 해결 가이드
  4. 압축 해제는 Filezilla 또는 대부분의 웹 서버에서 지원하는 cPanel 파일 관리자를 통해 진행할 수 있습니다.
  5. 완료되었다면 웹사이트에 다시 접속하여 오류가 해결되었는지 확인하세요.