# phpMyAdmin으로 데이터베이스 접근하기

Source: https://support.kapsulehost.com/ko-kr/sites-phpmyadmin

데이터베이스가 있는 모든 KapsuleHost 웹사이트는 phpMyAdmin을 통해 브라우저 기반 데이터베이스 접속을 제공받으며, 싱글 사인온으로 열리기 때문에 별도로 보관해야 할 두 번째 비밀번호가 없습니다. 이 가이드에서는 phpMyAdmin을 여는 방법, 접속 정보 확인 방법, 그곳에서 수행할 가치가 있는 작업, 그리고 WordPress 사이트에서 phpMyAdmin으로 절대 해서는 안 되는 두 가지 데이터베이스 작업을 다룹니다.

## phpMyAdmin 열기

1. [KPanel](https://kpanel.kapsulehost.com)에 로그인한 다음 왼쪽 사이드바에서 **웹사이트**를 클릭합니다.
2. 사이트를 클릭합니다.
3. 사이트 자체 메뉴에서 **데이터베이스**를 엽니다.
4. **phpMyAdmin 열기**을 클릭합니다.

phpMyAdmin은 새 탭에서 열리며, 이미 로그인된 상태로 해당 사이트의 데이터베이스를 가리킵니다. 로그인 양식도 없고 별도로 저장해야 할 자격 증명도 없습니다.

![KPanel의 사이트 Database 탭과 Open phpMyAdmin 버튼](https://support.kapsulehost.com/help/screenshots/sites-phpmyadmin.84df4ba6.webp)

> **Note:** 해당 사이트 유형에는 데이터베이스가 프로비저닝되지 않았다는 메시지가 표시된다면 이는 정상입니다. 정적 HTML 사이트와 일부 애플리케이션 유형은 데이터베이스 없이 생성됩니다. WordPress와 WooCommerce를 포함해 데이터베이스를 사용하는 사이트 유형에는 항상 데이터베이스가 있습니다.

## 접속 정보

같은 화면에서 애플리케이션이 사용하는 자격 증명을 확인할 수 있으며, 각 항목에는 복사 버튼이 있고 비밀번호는 표시 버튼 뒤에 숨겨져 있습니다.

| 항목 | 값 |
|---|---|
| 호스트 | `127.0.0.1` |
| 포트 | `3306` |
| 데이터베이스 | 사용자의 데이터베이스 이름 |
| 사용자명 | 사용자의 데이터베이스 사용자 |
| 비밀번호 | 표시 버튼을 클릭하기 전까지 숨김 |

이 값들은 `wp-config.php`, `.env` 파일, 또는 어떤 프레임워크든 데이터베이스 설정에 들어가는 값입니다.

> **Warning:** `127.0.0.1`은 "이 서버 자신"을 의미합니다. 노트북에서는 접속할 수 없으며, 아무리 방화벽을 설정해도 이는 바뀌지 않습니다. 데이터베이스는 설계상 공인 주소로 전혀 리스닝하지 않기 때문입니다. TablePlus나 Sequel Ace 같은 데스크톱 클라이언트를 연결하려면 SSH 터널을 사용하세요. [SSH 터널을 통한 데이터베이스 접속](https://support.kapsulehost.com/ko-kr/database-ssh-tunnel)을 참고하세요.

## 어떤 용도로 사용해야 하나

phpMyAdmin은 다음과 같은 특정 작업에서 제 역할을 합니다.

- **데이터 확인.** 플러그인이 실제로 무엇을 저장했는지 확인하거나, 특정 행이 존재하는지 확인하거나, 레코드 수를 세는 작업.
- 마이그레이션이나 복원 작업 중 **데이터베이스 가져오기**.
- 추가 안전 복사본을 만들거나 개발자에게 전달하기 위한 **데이터베이스 내보내기**.
- 잘못 입력되어 wp-admin 로그인을 막아버린 `siteurl`처럼 **깨진 단일 값 복구**.
- **용량 진단.** 테이블을 크기순으로 정렬하면 로그 테이블이나 임시 테이블이 통제 불능으로 커졌을 때 바로 확인할 수 있습니다.

## 데이터베이스 가져오기

1. Database 탭에서 phpMyAdmin을 엽니다.
2. 왼쪽 패널에서 데이터베이스 이름을 클릭합니다.
3. 상단의 **Import**를 클릭합니다.
4. `.sql` 파일을 선택하고 **Go**를 클릭합니다.

가져오기는 일치하는 테이블을 교체합니다. 병합하지 않습니다.

> **Important:** 운영 중인 데이터베이스에 가져오기를 수행하면 즉시 파괴적인 결과가 발생합니다. 일치하는 테이블의 모든 행이 파일에 있는 내용으로 교체되며, phpMyAdmin 안에는 되돌리기 기능이 없습니다. 먼저 사이트의 **백업** 페이지에서 백업을 받으세요: [백업하기](https://support.kapsulehost.com/ko-kr/taking-a-backup).

대용량 덤프의 경우 먼저 `.sql.gz`로 압축하세요. phpMyAdmin이 이를 지원하며, 대개 업로드 용량 제한 이하로 줄일 수 있습니다. 그래도 너무 크다면 테이블별로 여러 파일로 나누거나, 티켓을 열어 주시면 저희가 서버 쪽에서 가져오기를 대신 진행해 드립니다.

## 데이터베이스 내보내기

1. 왼쪽 패널에서 데이터베이스 이름을 클릭합니다.
2. **Export**를 클릭합니다.
3. 단순 복사라면 SQL 형식의 **Quick**이 적합합니다. 특정 테이블만 필요하거나 출력물을 gzip으로 압축하려면 **Custom**을 선택하세요.
4. **Go**를 클릭합니다.

phpMyAdmin 내보내기는 유용한 추가 복사본이지 백업 전략이 아닙니다. 데이터베이스만 캡처할 뿐 파일은 포함하지 않으며, 저장한 위치에 남아 있을 뿐입니다. 사이트는 매일 데이터베이스와 파일이 함께 자동으로 백업되며, 언제든 수동으로도 백업을 받을 수 있습니다: [백업하기](https://support.kapsulehost.com/ko-kr/taking-a-backup).

## 여기서 하면 안 되는 두 가지

### SQL로 검색 및 바꾸기를 실행하지 마세요

WordPress는 플러그인과 테마 설정을 PHP 직렬화 문자열로 저장하며, 이 문자열은 내부의 각 값 길이를 함께 기록합니다. `REPLACE()` 쿼리는 기록된 길이는 그대로 둔 채 텍스트만 변경하므로, PHP가 더는 해당 옵션을 읽지 못하고 조용히 빈 값으로 되돌아갑니다. 테마 설정이 사라지고, 슬라이더가 비워지고, 라이선스가 해지됩니다.

사이트의 **WordPress** 탭에 있는 **검색 및 바꾸기** 카드를 사용하세요. 이 기능은 직렬화를 올바르게 처리하며 먼저 백업을 수행합니다. 자세한 설명: [검색 및 바꾸기 실행하기](https://support.kapsulehost.com/ko-kr/wordpress-search-replace).

### wp_users를 편집해서 비밀번호를 재설정하지 마세요

오래된 가이드에서는 phpMyAdmin 드롭다운의 `MD5` 함수를 사용해 `user_pass`을 설정하라고 안내합니다. 최신 WordPress는 MD5 해시를 사용하지 않으며, 이를 잘못 설정하면 비밀번호가 재설정되는 대신 계정이 잠겨버립니다.

KPanel에는 이를 위한 제대로 된 도구가 사이트의 **WordPress** 탭, **Users** 섹션에 마련되어 있습니다: **Login as**로 바로 로그인하거나, 재설정 이메일을 보내거나, 재설정 링크를 복사해 직접 보낼 수 있습니다. [분실한 WordPress 관리자 비밀번호 재설정하기](https://support.kapsulehost.com/ko-kr/wordpress-reset-password)를 참고하세요.

## KPanel의 WordPress 데이터베이스 도구

일상적인 WordPress 데이터베이스 작업에는 **WordPress** 탭의 **데이터베이스** 섹션이 phpMyAdmin보다 더 안전하고 빠릅니다. 테이블 크기를 한눈에 보여주고, 먼저 자동 백업을 수행한 뒤 최적화와 복구를 진행하며, 오래된 테이블을 최신 스토리지 엔진으로 변환하고, 게시물 리비전, 자동 임시 저장본, 만료된 임시 데이터, 휴지통에 있는 게시물을 한 번의 클릭으로 정리할 수 있습니다. 검색 및 바꾸기는 바로 옆 섹션인 **빠른 작업**에 있습니다.

원시 데이터 행을 직접 확인해야 할 때는 phpMyAdmin을 사용하세요. 무언가를 변경해야 할 때는 Database 섹션을 사용하세요.

## 문제 해결

**phpMyAdmin이 열리지 않습니다.** 이 버튼에는 사이트에 대한 쓰기 권한이 필요합니다. KapsuleHost 계정 역할이 읽기 전용이라면 계정 소유자에게 요청하세요. 쓰기 권한이 있는데도 계속 실패한다면 사이트가 아직 프로비저닝 중일 수 있으니 사이트 상단의 상태 표시를 확인하세요.

**Database 탭에 나온 정보로 노트북에서 연결할 수 없습니다.** 맞습니다. 의도된 동작입니다. 데이터베이스는 공개적으로 노출되지 않습니다. SSH 터널을 사용하세요: [SSH 터널을 통한 데이터베이스 접속](https://support.kapsulehost.com/ko-kr/database-ssh-tunnel).

**가져오기가 오류 없이 멈춥니다.** 거의 항상 파일 크기 문제입니다. gzip으로 압축하거나 파일을 나누세요.

**값을 변경했더니 사이트가 망가졌습니다.** 가장 최근 백업에서 복원하세요: [백업에서 복원하기](https://support.kapsulehost.com/ko-kr/restoring-from-backup). 이것이 바로 백업을 먼저 받아야 하는 이유입니다.

**테이블이 엄청나게 커졌습니다.** phpMyAdmin에서 크기순으로 정렬해 원인을 찾은 다음, 행을 직접 삭제하기보다는 **WordPress** 탭의 **데이터베이스** 섹션에서 정리하세요.
