ServBay 문서: Adminer로 데이터베이스 관리하기
개요
ServBay는 macOS와 Windows를 지원하는 강력한 로컬 웹 개발 환경으로, 다양한 웹 서버, 프로그래밍 언어 런타임, 데이터베이스 시스템을 통합 제공합니다. 개발자들이 내장 데이터베이스를 쉽게 관리할 수 있도록, ServBay에는 Adminer라는 강력하고 경량의 데이터베이스 관리 도구가 미리 설치 및 설정되어 있습니다. 이 문서에서는 ServBay에 포함된 데이터베이스를 Adminer로 연결하고 관리하는 방법을 안내합니다.
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 Socket 경로/Applications/ServBay/tmp/mysql.sock
을 사용할 수 있습니다. Socket 연결이 보통 더 빠릅니다. - 사용자명: 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
또는 직접 생성한 DB).
- 서버:
로그인
버튼 클릭.
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에서 여러 데이터베이스 관리 작업을 수행할 수 있습니다. 데이터베이스 유형마다 UI나 기능에서 다소 차이가 있지만 기본적인 작업 흐름은 거의 같습니다.
데이터베이스 생성
(MariaDB/MySQL, PostgreSQL에 해당)
- 특정 데이터베이스를 지정하지 않고 서버에 로그인.
- 왼쪽 네비게이션 혹은 메인화면에서
데이터베이스 생성
또는 유사 메뉴 선택. - 새로운 데이터베이스명 입력.
- 문자 집합 및 정렬 방식 선택(필요시).
저장
또는생성
버튼 클릭.
(SQLite 3의 경우, 존재하지 않는 파일 경로를 지정하면 데이터베이스가 생성됩니다.)
테이블 및 데이터 관리
- 데이터베이스 선택(로그인 시 미지정한 경우).
- 데이터베이스 개요 화면에서
테이블 생성
선택. - 테이블명과 필드(컬럼) 정의: 필드명, 데이터 형식, 길이, NULL 허용 여부, 기본값, 인덱스(기본키, 유니크 인덱스, 일반 인덱스) 등 입력.
저장
버튼으로 테이블 생성.- 테이블 생성 후, 왼쪽 네비게이션 또는 개요에서 해당 테이블 선택.
- 데이터 작업 수행:
삽입
: 신규 데이터 행 추가.조회
: 기존 데이터 보기, 검색, 정렬, 필터링.수정
: 데이터 행 편집.삭제
: 데이터 행 삭제.SQL 명령어
를 통해 복잡한 쿼리 및 작업 실행.
SQL 명령어 실행
Adminer는 SQL 명령어 입력 인터페이스를 제공합니다. 여기서 직접 SQL을 입력하고 실행해 더욱 유연하게 데이터베이스를 관리하거나 데이터를 조회할 수 있습니다.
- 명령어를 실행할 데이터베이스 선택.
SQL 명령어
메뉴 클릭.- 텍스트 영역에 SQL 입력.
실행
버튼 클릭.
데이터 가져오기/내보내기
Adminer는 데이터베이스 구조와 데이터를 SQL 파일 또는 CSV 등 다른 형식으로 내보내거나, 해당 파일에서 데이터를 가져오는 작업을 지원합니다. 데이터 마이그레이션, 백업, 데이터 공유에 활용할 수 있습니다.
- 가져오기/내보내기 대상 데이터베이스 또는 테이블 선택.
내보내기
또는가져오기
메뉴 선택.- 안내에 따라 파일 형식 및 옵션 선정 후 작업 실행.
데이터베이스 삭제
(MariaDB/MySQL, PostgreSQL에 해당)
- 특정 데이터베이스를 지정하지 않고 서버에 로그인.
- 삭제할 데이터베이스를 목록에서 선택.
삭제
메뉴 클릭 및 확인. 주의: 이 작업은 되돌릴 수 없으며 데이터베이스 및 모든 데이터가 영구적으로 삭제됩니다.
(SQLite 3의 경우, 데이터베이스 삭제는 해당 .sqlite
파일을 파일 시스템에서 직접 삭제하는 것입니다.)
유의사항
- 자격 증명 보안: ServBay 설정에서 확인한 데이터베이스 사용자명과 비밀번호는 안전하게 관리하고 외부에 노출하지 않도록 합니다.
- ServBay 실행 상태: Adminer는 ServBay 내장 웹 서버를 통해 서비스되며 연결하려면 해당 데이터베이스 서비스가 실행 중이어야 합니다. Adminer 또는 DB 연결에 문제가 있으면 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 앱의 ‘데이터베이스’ 탭에서 ServBay가 자동 생성한 각 데이터베이스의 사용자명과 비밀번호를 확인할 수 있습니다.
Q: PostgreSQL 연결 시 서버 주소와 포트는 무엇인가요?
A: 서버 주소는 일반적으로 localhost
, 기본 포트는 5432
입니다. ServBay 설정에서 PostgreSQL의 리스닝 주소와 포트를 확인하세요. 유닉스 도메인 소켓으로 연결 시, /Applications/ServBay/tmp
를 입력(참고: PostgreSQL은 .sock
확장자 입력 불필요).
Q: MariaDB/MySQL 연결 시 서버 주소와 소켓 경로의 차이는?
A: localhost
는 기본적으로 TCP/IP(3306포트)로 연결하며, /Applications/ServBay/tmp/mysql.sock
는 유닉스 도메인 소켓 활용입니다. 로컬 환경에서는 소켓 연결이 대체로 더 빠르고 안전합니다. 필요에 따라 양쪽 모두 사용할 수 있습니다.
Q: Adminer에서 ServBay에 내장되지 않은 외부 데이터베이스도 관리할 수 있나요?
A: Adminer 자체는 다양한 데이터베이스 유형을 지원합니다. ServBay 외부에 구축된 데이터베이스(예: 별도의 MongoDB나 원격 DB)도, 네트워크 연결이 허용되고 올바른 접속 정보가 있다면 ServBay의 Adminer 파일을 활용해 관리할 수 있습니다. 단, Adminer의 주요 통합 목적은 ServBay 내장 데이터베이스 관리에 있습니다.
요약
Adminer는 ServBay가 제공하는 매우 편리한 데이터베이스 관리 도구로, 단일 파일/경량/멀티 데이터베이스 지원 등 뛰어난 특성 덕분에 로컬 개발 환경에서 MariaDB/MySQL, PostgreSQL, SQLite 데이터베이스 관리 업무를 크게 단순화합니다. 이 문서의 안내대로라면 ServBay의 데이터베이스에 쉽게 연결해 Adminer로 일상적인 DB 관리 및 데이터 작업을 원활하게 수행할 수 있습니다.