ServBay에서 MariaDB 데이터베이스 관리 및 활용 가이드
MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템으로, MySQL에서 파생되어 높은 성능·신뢰성·확장성을 자랑합니다. ServBay는 macOS에 최적화된 로컬 웹 개발 환경으로, MariaDB 데이터베이스 서비스를 통합 제공하여 개발자에게 편리한 데이터베이스 관리 기능을 지원합니다. 이 문서에서는 ServBay 내에서 MariaDB를 설치·설정·연결·관리(백업 및 복원 포함)·최적화·보호하는 방법을 단계별로 안내합니다.
MariaDB 설치 및 설정
ServBay에서 MariaDB 설치 과정은 매우 간단합니다. ServBay 메인 화면을 열고, 왼쪽 내비게이션의 패키지 메뉴에서 MariaDB를 선택하세요. 이곳에서 지원되는 MariaDB 버전(10.4 ~ 11.7)을 확인하고 원하는 버전을 선택해 설치 버튼을 클릭하면 바로 설치가 완료됩니다.
MariaDB 서비스 시작 및 관리
설치가 완료되면, ServBay 관리 패널 또는 커맨드라인 도구 servbayctl
을 통해 MariaDB 서비스를 시작, 중지, 재시작할 수 있습니다.
ServBay 관리 패널 이용
- ServBay 메인 화면을 실행합니다.
- 왼쪽 내비게이션의 패키지에서 MariaDB를 선택합니다.
- MariaDB 상세 정보 페이지에서 설치된 버전을 확인합니다.
- 각종 서비스 제어(시작, 중지, 재시작) 버튼을 사용하세요.
커맨드라인 도구 servbayctl
사용
servbayctl
은 ServBay 내 서비스와 패키지 관리를 위한 강력한 명령줄 도구입니다.
bash
# 특정 버전의 MariaDB 서비스 시작(예: MariaDB 11.3)
servbayctl start mariadb 11.3
# MariaDB 서비스 중지
servbayctl stop mariadb 11.3
# MariaDB 서비스 재시작
servbayctl restart mariadb 11.3
# MariaDB 서비스의 실행 상태 확인
servbayctl status mariadb 11.3
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
명령어의 11.3
은 실제 설치·사용 중인 버전으로 변경해 사용하세요.
MariaDB 설정
ServBay는 직관적인 그래픽 인터페이스를 통해 MariaDB의 여러 설정값을 쉽게 변경할 수 있으며, 직접 설정 파일을 편집하는 방법도 지원합니다. 그래픽 UI를 활용하면 메모리, 캐시, 연결 수 등 주요 성능 관련 옵션을 간편하게 조정할 수 있습니다.
설정 변경 및 최적화 방법에 대해서는 ServBay 고급 설정 문서: MariaDB 설정 변경하기를 참고하세요.
MariaDB 연결
ServBay에서 구동 중인 MariaDB는 기본적으로 여러 방식으로 연결할 수 있습니다. 대표적으로 명령줄 클라이언트와 그래픽 관리 도구를 지원합니다.
명령줄로 연결하기
일반적인 mysql
명령줄 클라이언트를 사용해 MariaDB에 접속할 수 있습니다.
TCP/IP 연결 이용: 호스트명(
localhost
)과 포트(기본 3306)를 지정해 접속bashmysql -u your_username -p -h localhost -P 3306
1명령 실행 후 비밀번호를 입력하라는 창이 나옵니다.
your_username
은 실제 DB 사용자명으로 교체하세요.소켓 파일 연결 이용: 유닉스 도메인 소켓 경로를 지정하면 TCP/IP보다 더 빠르게 연결할 수 있습니다.
bashmysql -u your_username -p -S /Applications/ServBay/tmp/mysql.sock
1ServBay는 기본적으로
/Applications/ServBay/tmp/mysql.sock
경로에 MariaDB 소켓 파일을 만듭니다.
phpMyAdmin 및 Adminer로 연결하기
ServBay에는 웹 기반 데이터베이스 관리 도구인 phpMyAdmin과 Adminer가 기본 탑재되어 있습니다. 웹 브라우저에서 쉽게 데이터베이스를 관리할 수 있습니다.
로컬 서비스 대시보드에 접속하려면 아래 주소로 이동하세요:
- 접속 주소: https://servbay.host
이 페이지에서 phpMyAdmin과 Adminer로 바로 이동 가능한 링크를 확인할 수 있습니다. 로그인 시에는 ServBay 관리 UI의 MariaDB 패키지 상세 정보 페이지에서 확인 가능한 DB 계정 정보를 참고하여 사용자명과 비밀번호를 입력하세요.
데이터베이스 관리
데이터베이스 및 사용자 생성
MariaDB에 접속 후 SQL 명령으로 새 데이터베이스 생성 및 권한 관리를 할 수 있습니다.
데이터베이스 생성:
sqlCREATE DATABASE mydatabase_servbay;
1데이터베이스 이름은 사용 목적에 맞게 구체적으로 짓는 것이 좋습니다(예:
mydatabase_servbay
).사용자 생성 및 권한 부여: 프로젝트별로 전용 사용자를 만들고 필요한 최소한의 권한만 부여하는 것이 보안상 매우 우수한 방법입니다.
sql-- 새 사용자(servbay-demo) 생성 및 비밀번호 설정 CREATE USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_strong_password'; -- 해당 데이터베이스 전체 권한 부여 GRANT ALL PRIVILEGES ON mydatabase_servbay.* TO 'servbay-demo'@'localhost'; -- 권한 변경 내용을 즉시 반영 FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8servbay-demo
,a_strong_password
,mydatabase_servbay
등은 각자 설정에 맞게 입력하세요.@'localhost'
는 해당 사용자가 로컬에서만 접속 가능하다는 뜻입니다.
백업 및 복원
정기적인 데이터베이스 백업은 데이터 보호와 복구를 위해 필수적입니다. ServBay에서는 직접 명령줄 도구로 백업할 수도 있고, 자동 백업 기능을 이용할 수도 있습니다.
수동 백업
mysqldump
명령줄 도구를 사용해 SQL 파일로 데이터베이스를 내보낼 수 있습니다. ServBay의 백업 폴더에 파일을 저장하는 것이 좋습니다:
bash
/Applications/ServBay/backup/mariadb
1
백업 실행 예시:
bash
mysqldump -u servbay-demo -p mydatabase_servbay > /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
1
여기서 servbay-demo
, mydatabase_servbay
는 실제 사용자명과 DB명으로 교체하세요. 명령 실행 후 비밀번호 입력창이 뜹니다.
수동 복원
백업된 SQL 파일을 mysql
명령어로 데이터베이스로 복원할 수 있습니다.
bash
mysql -u servbay-demo -p mydatabase_servbay < /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
1
이 명령을 실행하면 /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
의 백업 데이터를 mydatabase_servbay
에 복원합니다.
ServBay 자동 백업 기능
ServBay는 강력한 자동 백업 기능을 내장하여, MariaDB 데이터베이스 뿐 아니라 웹사이트 파일, ServBay 설정, SSL 인증서 등 주요 데이터를 주기적으로 백업할 수 있습니다. 설정 메뉴에서 자동 백업 주기, 보관 개수, 저장 위치 등을 커스터마이즈할 수 있어 번거로운 백업 작업을 자동화하고 데이터 안정성도 확보할 수 있습니다. 자세한 사용법은 MariaDB 자동 백업 및 복원 가이드를 참고하세요.
성능 최적화
MariaDB는 다양한 성능 최적화 방법을 제공합니다. 여기서는 ServBay 환경에서 적용할 수 있는 대표적인 개선 팁을 소개합니다.
인덱스 최적화
WHERE
조건, JOIN
, ORDER BY
등에 자주 사용되는 컬럼에 인덱스를 생성하면 쿼리 속도를 크게 높일 수 있습니다.
sql
-- your_table_name 테이블의 column_name 컬럼에 인덱스 생성
CREATE INDEX idx_column_name ON your_table_name(column_name);
1
2
2
쿼리 최적화
EXPLAIN
명령을 사용해 SQL 쿼리의 실행 계획을 점검하고, 인덱스 사용 여부 등 병목 지점을 분석할 수 있습니다.
sql
EXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';
1
EXPLAIN
결과를 바탕으로 쿼리 구조를 개선하거나 인덱스를 추가, 테이블 설계를 조정할 수 있습니다.
설정 최적화
주요 MariaDB 설정 파일(my.cnf
또는 my.ini
) 중 메모리·캐시·동시 연결 관련 파라미터를 조정하면 전체적인 성능을 개선할 수 있습니다. 특히 innodb_buffer_pool_size
는 InnoDB 엔진의 데이터 및 인덱스 캐시 메모리 크기를 결정하는 가장 중요한 옵션입니다. 시스템의 메모리 용량에 맞게 적절히 조정하세요.
ini
[mysqld]
# InnoDB 버퍼풀 사용량을 시스템 메모리의 50~70% 정도로 조정 추천
innodb_buffer_pool_size = 1G
1
2
3
2
3
설정 변경 후 MariaDB를 재시작해야 적용됩니다. ServBay UI 또는 servbayctl restart mariadb <version>
명령어로 서비스를 재실행하세요.
보안 관리
로컬 개발 환경이라도 데이터베이스 보안을 강화하는 습관을 들이면 훗날 실 운영 환경에서도 큰 도움이 됩니다.
강력한 비밀번호 설정
모든 데이터베이스 사용자, 특히 root 계정에는 복잡하고 유일한 강한 비밀번호를 반드시 설정하세요. 단순하거나 기본값 비밀번호는 피해야 합니다.
sql
-- 사용자 비밀번호 변경
ALTER USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_new_strong_password';
-- MariaDB 버전에 따라 구버전 문법 예시
SET PASSWORD FOR 'servbay-demo'@'localhost' = PASSWORD('a_new_strong_password');
1
2
3
4
5
2
3
4
5
주기적 백업
앞서 설명한 것처럼 규칙적인 데이터베이스 백업은 데이터 손실을 예방하는 가장 중요한 대책입니다. ServBay 자동 백업 기능으로 작업을 간소화하고 안전하게 보관할 수 있습니다.
접근 제한
최소 권한 원칙(least privilege principle)을 지켜, 계정별로 반드시 필요한 권한만 부여하세요. 응용프로그램 사용자에게는 전체 권한(ALL PRIVILEGES ON *.*
) 부여를 삼가세요.
sql
-- 모든 DB에 대한 권한 회수(주의!)
REVOKE ALL PRIVILEGES ON *.* FROM 'servbay-demo'@'localhost';
-- 특정 데이터베이스에 SELECT, INSERT, UPDATE 권한만 부여
GRANT SELECT, INSERT, UPDATE ON mydatabase_servbay.* TO 'servbay-demo'@'localhost';
-- 권한 새로고침
FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
자주 묻는 질문(FAQ) 및 문제 해결
MariaDB 연결 불가
MariaDB에 접속이 안 될 경우, 아래 순서로 점검해보세요:
- MariaDB 서비스 실행 상태 확인 ServBay UI에서 MariaDB 상태를 확인하거나, 아래 명령어를 사용하세요:bash서비스가 켜져 있지 않다면 시작해 주세요.
servbayctl status mariadb <version>
1 - 연결 파라미터 점검 사용 중인 사용자명, 비밀번호, 호스트(
localhost
), 포트(3306
), 소켓 경로(/Applications/ServBay/tmp/mysql.sock
) 등이 올바른지 확인하세요. - 방화벽 설정 확인 macOS 방화벽이 ServBay 또는 MariaDB 프로세스의 네트워크 접근을 차단하지 않는지 점검하세요. 일반적으로 로컬 개발에는 큰 문제가 없으나, 외부에서 원격 연결 시 참고하세요.
비밀번호 오류
비밀번호가 맞지 않아 접속이 안 되거나 root 계정 비밀번호를 분실한 경우, ServBay 공식 문서의 비밀번호 초기화 가이드를 참고하세요:
ServBay는 MariaDB, MySQL, PostgreSQL 등 주요 데이터베이스의 root 비밀번호를 손쉽게 재설정할 수 있습니다.
권한 문제
DB는 접속되지만 테이블 생성, 데이터 삽입 등 특정 작업이 불가능할 때는 사용자 권한 부족일 수 있습니다.
- 사용자 권한 확인sql
SHOW GRANTS FOR 'your_username'@'localhost';
1your_username
은 실제 사용자명으로 변경해야 합니다. - 필요한 권한 추가 부여 권한이 부족하다면 관리자 권한(예: root)으로 접속해 권한 부여 후 적용하세요.sql
GRANT ALL PRIVILEGES ON mydatabase_servbay.* TO 'servbay-demo'@'localhost'; FLUSH PRIVILEGES;
1
2
마무리
MariaDB는 ServBay 로컬 개발 환경의 핵심이며 강력한 데이터 관리 툴입니다. ServBay가 제공하는 편리한 UI와 도구를 활용하면 MariaDB 데이터베이스의 설치, 설정, 연결, 관리, 최적화, 보안 작업까지 손쉽게 수행할 수 있습니다. 이러한 기본 운영 방법을 익히면 안정적이고 고성능의 웹 애플리케이션을 위한 탄탄한 데이터 기반을 마련할 수 있습니다. 본 가이드가 ServBay에서 MariaDB를 보다 효과적으로 활용하는 데 도움이 되길 바랍니다.