ServBay 문서: Adminer로 데이터베이스 관리하기
개요
ServBay는 macOS를 위해 설계된 강력한 로컬 웹 개발 환경으로, 다양한 웹 서버, 프로그래밍 언어 런타임, 데이터베이스 시스템을 통합 제공합니다. 개발자들이 내장된 데이터베이스를 손쉽게 관리할 수 있도록 ServBay에는 Adminer라는 강력하면서도 가벼운 데이터베이스 관리 도구가 미리 설치 및 설정되어 있습니다. 이 문서는 Adminer를 활용해 ServBay에 내장된 데이터베이스에 연결하고 관리하는 방법을 안내합니다.
Adminer란 무엇인가
Adminer는 PHP로 작성된 단일 파일 기반 데이터베이스 관리 도구로, MySQL, MariaDB, PostgreSQL, SQLite, MongoDB 등 다양한 데이터베이스 시스템을 지원합니다. 대형 데이터베이스 관리 클라이언트와 비교하면 Adminer는 다음과 같은 특징을 가지고 있습니다.
- 경량성과 단일 파일 배포: Adminer는 오직 하나의 PHP 파일로 구성되어 별도의 설치 과정 없이 간편하게 사용 가능합니다. ServBay에 이미 통합되어 있어 바로 사용할 수 있습니다.
- 다양한 데이터베이스 지원: 하나의 통합된 인터페이스에서 여러 종류의 데이터베이스를 연결하고 관리할 수 있어, 여러 도구를 따로 설치하거나 학습할 필요가 줄어듭니다.
- 직관적이고 깔끔한 UI: 명확하고 탐색이 쉬운 인터페이스를 제공하여 초보 개발자도 손쉽게 사용할 수 있습니다.
- 풍부한 기능: 데이터베이스, 테이블, 인덱스, 사용자 생성 및 수정, 삭제뿐만 아니라 SQL 쿼리 실행, 데이터 가져오기/내보내기 등 대부분의 일반적인 데이터베이스 작업을 지원합니다.
ServBay로 로컬 개발을 진행하는 개발자라면, Adminer는 매우 편리하고 효율적인 데이터베이스 관리 솔루션을 제공합니다.
Adminer 접속 방법
ServBay를 실행하면, Adminer도 자동으로 구동되어 자체 웹 서버를 통해 접근이 가능합니다. 다음과 같이 ServBay의 기본 도메인명과 Adminer 파일명을 조합해 접속할 수 있습니다.
https://servbay.host/adminer.php
ServBay 애플리케이션이 실행 중이며, 웹 서버(Caddy 또는 Nginx 등)와 연결하려는 데이터베이스 서비스가 모두 가동 중인지 먼저 확인하세요.
ServBay의 데이터베이스에 연결하기
Adminer의 로그인 화면은 매우 직관적입니다. 데이터베이스 종류를 선택하고, 서버 주소/사용자명/비밀번호 및 (일부 데이터베이스의 경우) 데이터베이스명을 입력해야 합니다. ServBay는 내장 데이터베이스용 기본 사용자명과 비밀번호를 자동 생성하며, 해당 정보는 ServBay 앱의 '데이터베이스' 탭에서 확인할 수 있습니다.
MariaDB / MySQL에 연결하기
ServBay는 기본적으로 MariaDB 혹은 MySQL을 탑재하고 있습니다. Adminer에서는 "MySQL" 유형을 선택해 접속하면 됩니다.
- 브라우저에서 Adminer URL(
https://servbay.host/adminer.php
)에 접속합니다. - 로그인 화면의 시스템 드롭다운에서
MySQL
을 선택하세요. - 서버 연결 정보를 입력하세요:
- 서버:
localhost
를 입력하거나 ServBay에서 제공하는 Unix 소켓 경로/Applications/ServBay/tmp/mysql.sock
을 사용할 수 있습니다. 소켓 연결이 일반적으로 더 빠르고 효율적입니다. - 사용자명: ServBay 앱 '데이터베이스' 탭에서 MariaDB/MySQL의 사용자명을 확인하세요.
- 비밀번호: ServBay 앱 '데이터베이스' 탭에서 MariaDB/MySQL의 비밀번호를 확인하세요.
- 데이터베이스: (선택 사항) 특정 데이터베이스에 바로 접속하고 싶다면 해당 이름을 입력하세요. 비워두면 서버 전체에 로그인하고 이후 데이터베이스를 선택할 수 있습니다.
- 서버:
로그인
버튼을 클릭하세요.
PostgreSQL에 연결하기
ServBay는 PostgreSQL도 지원합니다. Adminer에서는 "PostgreSQL"을 선택해 접속할 수 있습니다.
- 브라우저에서 Adminer URL(
https://servbay.host/adminer.php
)에 접속합니다. - 로그인 화면의 시스템 드롭다운에서
PostgreSQL
을 선택하세요. - 서버 연결 정보를 입력하세요:
- 서버:
/Applications/ServBay/tmp
를 입력합니다. - 사용자명: ServBay 앱 '데이터베이스' 탭에서 PostgreSQL 사용자명을 확인하세요.
- 비밀번호: ServBay 앱 '데이터베이스' 탭에서 PostgreSQL 비밀번호를 확인하세요.
- 데이터베이스: 접속할 데이터베이스명을 입력합니다. 기본적으로
postgres
또는 직접 생성한 데이터베이스 이름을 입력하세요.
- 서버:
로그인
버튼을 클릭하세요.
SQLite 3에 연결하기
ServBay는 SQLite 3 데이터베이스도 지원합니다. SQLite는 데이터베이스 파일 단위로 관리되므로, 연결 시 데이터베이스 파일 경로를 지정해야 합니다.
- 브라우저에서 Adminer URL(
https://servbay.host/adminer.php
)에 접속합니다. - 로그인 화면의 시스템 드롭다운에서
SQLite 3
을 선택하세요. - 데이터베이스 파일 경로를 입력합니다:
- 데이터베이스 파일: SQLite 데이터베이스 파일의 전체 경로를 입력합니다. 파일은 ServBay의 데이터 디렉터리(예:
/Applications/ServBay/db/sqlite/your_database_name.sqlite
)에 저장하는 것을 권장합니다. - 입력한 파일 경로에 파일이 존재하지 않을 경우, Adminer가 새 데이터베이스 파일을 생성할지 물어봅니다.
- 데이터베이스 파일: SQLite 데이터베이스 파일의 전체 경로를 입력합니다. 파일은 ServBay의 데이터 디렉터리(예:
로그인
버튼을 클릭하세요.
일반적인 데이터베이스 작업 수행하기
데이터베이스 서버나 특정 데이터베이스에 성공적으로 로그인하면, Adminer의 UI를 통해 다양한 데이터베이스 관리 작업을 수행할 수 있습니다. 유형별로 인터페이스나 지원 기능에 약간 차이가 있을 수 있지만, 기본적인 절차는 비슷합니다.
데이터베이스 생성
(MariaDB/MySQL, PostgreSQL에 해당)
- 데이터베이스 서버에 로그인(특정 데이터베이스 미지정 상태).
- 좌측 내비게이션이나 메인 화면에서
데이터베이스 생성
또는 유사한 옵션을 찾으세요. - 새 데이터베이스 이름을 입력하세요.
- 문자셋 및 정렬 방식을(필요하다면) 선택하세요.
저장
또는생성
버튼을 클릭하세요.
(SQLite 3의 경우, 데이터베이스 생성은 존재하지 않는 파일 경로 지정으로 로그인 시 자동 처리됩니다.)
테이블 및 데이터 관리
- 데이터베이스를 선택하세요(로그인 시 선택하지 않았다면).
- 데이터베이스 개요 페이지에서
테이블 생성
옵션을 찾으세요. - 테이블 이름을 입력하고, 필드(컬럼) 상세 정보를 정의하세요: 필드명, 데이터 타입, 길이, NULL 허용 여부, 기본값, 인덱스(기본키, 유니크, 일반 인덱스) 등.
저장
버튼을 클릭해 테이블을 생성합니다.- 테이블 생성 후 좌측 내비게이션 또는 개요 화면에서 해당 테이블을 선택합니다.
- 데이터 작업을 수행하세요:
삽입
: 새 데이터 행 추가선택
: 기존 데이터 조회, 검색, 정렬, 필터수정
: 기존 데이터 행 수정삭제
: 기존 데이터 행 삭제SQL 명령
기능을 이용한 더 복잡한 쿼리 및 작업
SQL 명령 실행
Adminer는 SQL 명령어를 바로 입력 및 실행할 수 있는 전용 인터페이스를 제공합니다. 이를 통해 더욱 유연하게 데이터베이스 관리 및 데이터 조회를 할 수 있습니다.
- 명령을 실행할 데이터베이스를 선택하세요.
SQL 명령
옵션을 클릭합니다.- 텍스트 영역에 SQL 구문을 입력하세요.
실행
버튼을 클릭합니다.
데이터 가져오기 및 내보내기
Adminer는 데이터베이스 구조 및 데이터를 SQL 파일 또는 CSV 등 다양한 형식으로 내보내거나 가져오기 기능을 지원합니다. 데이터 마이그레이션, 백업 또는 데이터 공유에 유용합니다.
- 가져오기/내보내기 할 데이터베이스나 테이블을 선택하세요.
내보내기
또는가져오기
옵션을 찾으세요.- 화면 안내에 따라 형식, 옵션을 선택하고 작업을 실행하세요.
데이터베이스 삭제
(MariaDB/MySQL, PostgreSQL에 해당)
- 데이터베이스 서버에 로그인(특정 데이터베이스 미지정 상태).
- 삭제하려는 데이터베이스를 목록에서 선택하세요.
삭제
옵션을 클릭하고 확인합니다. 주의: 이 작업은 되돌릴 수 없으며, 데이터베이스와 모든 데이터가 영구 삭제됩니다.
(SQLite 3의 경우, 데이터베이스 삭제는 해당 .sqlite
파일을 파일 시스템에서 직접 삭제해야 합니다.)
유의사항
- 계정 정보 보호: ServBay 설정에서 확인한 데이터베이스 사용자명과 비밀번호는 외부에 유출되지 않도록 안전하게 관리하세요.
- ServBay 실행 상태: Adminer는 ServBay의 내장 웹 서버를 통해 접근 가능하며, 데이터베이스 서비스가 실행 중이어야 정상 연결됩니다. Adminer 접속 또는 데이터베이스 연결에 문제가 있으면 ServBay 및 관련 패키지(Caddy/Nginx, MariaDB/MySQL, PostgreSQL 등)의 실행 상태를 먼저 확인하세요.
- SQLite 파일 경로: SQLite 데이터베이스 파일 경로를 지정할 때 ServBay 사용자에게 읽기/쓰기 권한이 있는 경로(예:
/Applications/ServBay/db/sqlite/
)를 사용하세요. - 성능: Adminer는 경량 도구이기 때문에 매우 큰 데이터베이스나 복잡한 관리 작업에는 TablePlus, DBeaver, pgAdmin 등 데스크톱 클라이언트가 더 나은 기능과 성능을 제공할 수 있습니다.
자주 묻는 질문 (FAQ)
Q: https://servbay.host/adminer.php
주소로 접속이 안 되요. 어떻게 해야 하나요?
A: ServBay 애플리케이션이 실행 중이며, ServBay의 웹 서버(일반적으로 Caddy 또는 Nginx)가 정상 기동 중인지 확인하세요. 브라우저가 https://servbay.host
접속을 허용하는지도 확인해야 합니다.
Q: 데이터베이스 사용자명이나 비밀번호를 잊어버렸어요. 어디서 확인할 수 있나요?
A: ServBay 앱의 '데이터베이스' 탭에서 각 데이터베이스별 기본 생성된 사용자명과 비밀번호를 확인할 수 있습니다.
Q: PostgreSQL 연결 시 서버 주소와 포트는 어떻게 되나요?
A: 기본적으로 서버 주소는 localhost
, 포트는 5432
입니다. ServBay 설정에서 PostgreSQL의 리스닝 주소와 포트를 직접 확인할 수 있습니다. Unix Domain Socket 방식을 사용할 경우 /Applications/ServBay/tmp
로 입력하세요. (참고: PostgreSQL은 .sock
확장자를 입력할 필요 없습니다.)
Q: MariaDB/MySQL 연결 시 서버 주소와 소켓 경로의 차이는 무엇인가요?
A: localhost
는 일반적으로 TCP/IP 연결(기본 포트 3306)에 사용되고, /Applications/ServBay/tmp/mysql.sock
은 Unix 도메인 소켓 연결에 사용됩니다. 로컬 환경에서는 소켓 연결이 TCP/IP 방식보다 약간 더 빠르고 안전한 편입니다. 필요에 따라 적합한 방식을 선택하세요.
Q: ServBay에 내장되지 않은 외부 데이터베이스도 Adminer에서 관리할 수 있나요?
A: Adminer 자체는 다양한 데이터베이스를 지원합니다. ServBay 외부에 독립적으로 설치한 데이터베이스(예: 별도의 MongoDB, 원격 DB 등)도 네트워크 연결과 필요한 접속 정보를 알고 있다면 ServBay의 Adminer 파일로 접속이 가능합니다. 하지만 Adminer의 주요 가치는 ServBay 내장 데이터베이스의 간편 관리를 지원한다는 점에 있습니다.
마무리
Adminer는 ServBay에서 제공하는 매우 실용적인 데이터베이스 관리 도구로, 단일 파일·경량·다중 데이터베이스 지원 등 다양한 장점 덕분에 macOS 환경에서 MariaDB/MySQL, PostgreSQL, SQLite 데이터베이스를 관리하는 작업을 크게 단순화해줍니다. 이 문서의 안내를 따라 누구나 손쉽게 ServBay 데이터베이스에 접속해 Adminer로 일상적인 데이터베이스 관리와 데이터 작업을 할 수 있습니다.