MySQL Workbench로 ServBay 데이터베이스 관리하기
개요
MySQL Workbench는 Oracle에서 제공하는 공식 그래픽 데이터베이스 도구로, MySQL과 MariaDB 데이터베이스를 위한 통합 개발 및 관리 환경을 제공합니다. ServBay를 로컬 웹 개발 환경으로 사용하는 개발자에게 MySQL Workbench는 강력하면서도 사용하기 쉬운 선택지로, ServBay 내장 데이터베이스 인스턴스를 손쉽게 설계, 개발, 관리, 유지보수할 수 있습니다.
이 가이드에서는 MySQL Workbench를 ServBay의 MariaDB 데이터베이스와 연동하는 방법 및 데이터베이스와 테이블 생성, 데이터의 추가/삭제/수정/조회와 같은 일반적인 데이터베이스 작업을 자세히 설명합니다.
왜 MySQL Workbench를 선택해야 하나요?
MySQL Workbench는 다음과 같은 주요 장점들로 인해 ServBay 사용자가 데이터베이스를 관리하는 데 최적의 도구입니다.
- 풍부한 기능 제공: 데이터베이스 설계(ER 다이어그램 모델링), SQL 개발(강력한 에디터 및 디버거), 데이터베이스 관리(사용자 관리, 백업, 서버 상태 모니터링) 등 다양한 기능이 통합되어 있습니다.
- 직관적인 사용자 인터페이스: 탐색과 조작이 쉬운 그래픽 UI를 제공하여 데이터베이스 관리의 복잡성을 크게 낮춰줍니다.
- 성능 최적화: 대형 데이터베이스와 복잡한 쿼리도 효율적으로 처리하도록 설계되었습니다.
- 멀티 플랫폼 지원: macOS, Windows, Linux에서 실행되므로 ServBay의 크로스 플랫폼 특성과 잘 맞습니다.
- 공식 지원: 공식 도구이기 때문에 MySQL/MariaDB와의 호환성 및 기능 업데이트가 보장됩니다.
MySQL Workbench를 사용하면 새로운 프로젝트를 개발하거나 기존 애플리케이션을 유지보수할 때 데이터베이스 작업을 더욱 효율적으로 처리할 수 있습니다.
ServBay 데이터베이스에 연결하기
ServBay에는 기본적으로 MariaDB가 포함되어 있으며, 이는 MySQL과 호환되는 고성능 관계형 데이터베이스 관리 시스템입니다. ServBay는 MariaDB를 자동으로 설정하고 시작 시 실행합니다. MySQL Workbench를 통해 이 로컬 데이터베이스 인스턴스에 연결할 수 있습니다.
사전 준비
- 이미 ServBay를 설치 및 실행 중이어야 합니다.
- MySQL Workbench가 설치되어 있어야 합니다. MySQL 공식 웹사이트에서 최신 버전을 다운로드할 수 있습니다.
연결 방법
MySQL Workbench 실행: 설치된 MySQL Workbench 어플리케이션을 실행합니다.
새 연결 생성:
- MySQL Workbench의 시작 화면 또는 메인 메뉴에서 "MySQL Connections" 패널 옆의
+
아이콘을 클릭하여 새 연결을 만듭니다.
- MySQL Workbench의 시작 화면 또는 메인 메뉴에서 "MySQL Connections" 패널 옆의
연결 정보 입력:
Connection Name: 연결 이름을 입력합니다. 예:
ServBay MariaDB
또는ServBay Local Database
.Connection Method: macOS에서 ServBay 로컬 연결 시에는
Local Socket / Pipe
방식을 추천합니다. 이 방법이 TCP/IP보다 빠르고 신뢰성이 높습니다.Socket File: MariaDB 소켓 파일 경로를 지정합니다. ServBay의 기본 경로는
/Applications/ServBay/tmp/mysql.sock
입니다.Username: ServBay 데이터베이스의 기본 계정은 보통
root
입니다.Password:
Store in Keychain
버튼 옆 입력란을 클릭하면 비밀번호를 입력할 수 있는 창이 뜹니다. ServBay 데이터베이스root
계정에 설정된 비밀번호를 여기에 입력합니다. 중요: 이 비밀번호는 빈 값이 아니며, ServBay 앱의 데이터베이스(Database) 탭에서 확인 및 복사할 수 있습니다.Default Schema: 비워둬도 되며, 연결 후 직접 선택 또는 생성할 수 있습니다.
TCP/IP 연결(연결 방법: Standard (TCP/IP))을 선택하는 경우:
- Hostname:
127.0.0.1
또는localhost
- Port:
3306
(ServBay의 기본 포트) - Username:
root
- Password: 위와 동일하게 ServBay 데이터베이스에서 확인합니다.
- Hostname:
참고: 일반적으로 로컬에서는 Socket 파일로 연결하는 것이 더 간단하고 효율적이므로 우선적으로 시도하는 것이 좋습니다.
연결 테스트:
- "Test Connection" 버튼을 클릭합니다. 설정이 올바르면 연결 성공 메시지가 표시됩니다.
- 연결이 실패할 경우, ServBay가 실행 중인지, MariaDB 패키지가 활성화되어 있는지, 소켓 경로/호스트/포트/아이디/비밀번호 입력이 정확한지 확인합니다.
연결 저장:
- 연결 테스트에 성공했다면 "OK" 버튼을 클릭하여 연결을 저장합니다. 등록된 연결은 MySQL Workbench 메인 화면에 표시됩니다.
연결 열기:
- 방금 만든 연결 이름(예:
ServBay MariaDB
)을 더블클릭하여 SQL 에디터 및 관리 화면을 열고 데이터베이스 관리를 시작합니다.
- 방금 만든 연결 이름(예:
데이터베이스 기본 작업
연결에 성공하면 MySQL Workbench의 메인 화면이 나타납니다. 일반적으로 SQL 에디터 영역과, 왼쪽에 탐색 패널(Navigator)이 있습니다. Navigator 패널의 "SCHEMAS" 섹션에서는 현재 인스턴스의 모든 데이터베이스(Schema)를 확인할 수 있습니다.
ServBay에 설치된 MariaDB에는 기본적으로 여러 시스템 데이터베이스(information_schema
, mysql
, performance_schema
, sys
등)가 포함되어 있습니다. 이들 시스템 데이터베이스는 수정하지 않는 것이 좋습니다.
새 데이터베이스(Schema) 생성
- 왼쪽 "SCHEMAS" 패널 빈 공간을 우클릭하고, "Create Schema..."를 선택합니다.
- 팝업 창에서 새 데이터베이스 이름(예:
servbay_demo_db
)을 입력합니다. - 문자셋 및 정렬규칙(Charset and Collation)을 선택할 수 있습니다. 보통
utf8mb4
와utf8mb4_unicode_ci
를 사용하면 폭넓은 문자를 지원할 수 있어 권장됩니다. - "Apply" 버튼을 클릭합니다.
- 나타나는 SQL 스크립트 확인 창에서 다시 "Apply"를 눌러 생성 작업을 실행합니다.
- "Finish"를 클릭하면 새 데이터베이스가 "SCHEMAS" 목록에 추가됩니다.
테이블 생성
- 방금 생성한 데이터베이스(예:
servbay_demo_db
)를 확장합니다. - 해당 데이터베이스의 "Tables"를 우클릭하고 "Create Table..."을 선택합니다.
- 테이블 편집 화면에서:
- 테이블명 입력(예:
users
) - "Columns" 패널에서 하단 빈 행을 클릭하여 필드(컬럼) 정의:
- 필드명(예:
id
,username
,email
,created_at
) - 데이터 타입 선택(예:
INT
,VARCHAR(255)
,DATETIME
) - 속성 체크(예:
PK
(기본키),NN
(NOT NULL),UQ
(유니크),BIN
(이진),UN
(언사인드),ZF
(제로 필),AI
(자동 증가)). 예를 들어id
필드는INT
,PK
,NN
,AI
등을 설정하는 것이 일반적입니다.
- 필드명(예:
- 테이블명 입력(예:
- 모든 필드를 정의한 후 우측 하단의 "Apply" 버튼 클릭.
- 나타나는 SQL 스크립트 확인 창에서 다시 "Apply"로 생성 작업을 실제로 실행합니다.
- "Finish"를 누르면 새 테이블이 데이터베이스의 "Tables" 목록에 표시됩니다.
데이터 삽입
- 왼쪽 "SCHEMAS" 패널에서 데이터베이스를 찾아 확장한 후 "Tables"를 펼칩니다.
- 데이터를 삽입할 테이블명(예:
users
)을 우클릭하고 "Select Rows - Limit 1000"을 선택합니다. 결과 집합 창이 열립니다. - 결과 집합 하단의 빈 행에 직접 새 데이터를 입력할 수 있습니다.
- 데이터 입력 후 결과 집합 좌하단 "Apply" 버튼을 클릭합니다.
- 팝업되는 SQL 스크립트 확인 창에서 다시 "Apply"를 눌러 삽입 작업을 실행합니다.
- "Finish"를 클릭하면 새 데이터가 테이블에 추가됩니다.
데이터 조회
- 조회하고자 하는 테이블에서 우클릭하여 "Select Rows - Limit 1000"을 선택합니다. 이 방법이 가장 간단하게 데이터를 볼 수 있습니다.
- 더 복잡한 조회가 필요하다면 상단 SQL 에디터를 사용할 수 있습니다. 아래와 같이 SQL 문을 입력합니다:sql
SELECT id, username, email FROM users WHERE id > 10 ORDER BY created_at DESC;
1 - 에디터 툴바의 번개모양 아이콘(Execute SQL statement)을 클릭하거나
Cmd + Shift + Enter
(macOS)를 눌러 쿼리를 실행합니다. 결과는 하단 결과 패널에 표시됩니다.
데이터 수정
- 데이터를 수정할 테이블명에서 우클릭, "Select Rows - Limit 1000"으로 결과 집합 창을 엽니다.
- 결과 집합에서 수정하고자 하는 데이터 셀을 더블클릭합니다.
- 값을 편집합니다.
- 수정 완료 후 결과 집합 좌하단 "Apply" 버튼을 클릭합니다.
- 나타나는 SQL 스크립트 창에서 다시 "Apply"를 눌러 수정 작업을 실행합니다.
- "Finish"를 클릭하면 데이터가 반영됩니다.
데이터 삭제
- 데이터 삭제할 테이블명에서 우클릭, "Select Rows - Limit 1000"으로 결과 집합 창을 엽니다.
- 삭제하고자 하는 행(들)을 선택합니다. 행 번호를 클릭하면 전체 행이 선택됩니다.
- 선택된 영역에서 우클릭, "Delete Row(s)"를 클릭합니다.
- 삭제 작업을 확인합니다.
- 결과 집합 좌하단 "Apply" 버튼을 클릭합니다.
- SQL 스크립트 확인 창에서 다시 "Apply"를 눌러 삭제 작업을 실행합니다.
- "Finish"를 클릭하면 데이터가 삭제됩니다.
테이블 삭제
- 왼쪽 "SCHEMAS" 패널에서 해당 데이터베이스를 확장합니다.
- "Tables"를 확장한 다음 삭제할 테이블명을 찾습니다.
- 테이블명을 우클릭하고 "Drop Table..."을 선택합니다.
- 확인 대화상자가 뜨면 "Drop Now"를 클릭합니다.
- 테이블은 즉시 삭제됩니다. 이 작업은 되돌릴 수 없으니 주의하세요.
데이터베이스(Schema) 삭제
- 왼쪽 "SCHEMAS" 패널에서 삭제할 데이터베이스명을 우클릭합니다.
- "Drop Schema..."를 선택합니다.
- 확인 대화상자가 뜨면 "Drop Now"를 클릭합니다.
- 해당 데이터베이스 및 모든 테이블, 데이터, 인덱스가 즉시 삭제됩니다. 이 작업은 매우 주의해서 진행해야 하며 복구가 불가능합니다.
자주 묻는 질문 (FAQ)
- Q: ServBay 데이터베이스에 연결할 수 없는 이유는 무엇인가요?
- A: 먼저 ServBay 앱이 실행 중이고 MariaDB 패키지가 활성화되어 있는지 확인하세요. MySQL Workbench의 연결 정보 특히 소켓 파일 경로(
/Applications/ServBay/tmp/mysql.sock
) 또는 TCP/IP 호스트(127.0.0.1
), 포트(3306
), 그리고 ServBay 데이터베이스에서 복사한 사용자명(root
) 및 비밀번호가 정확한지 체크해야 합니다. 방화벽 설정에 따라 TCP/IP 연결이 제한될 수도 있습니다.
- A: 먼저 ServBay 앱이 실행 중이고 MariaDB 패키지가 활성화되어 있는지 확인하세요. MySQL Workbench의 연결 정보 특히 소켓 파일 경로(
- Q: ServBay의 데이터베이스 root 비밀번호는 어디서 확인하나요? 변경이 가능한가요?
- A: 데이터베이스
root
계정의 비밀번호는 ServBay 앱에서 데이터베이스(Database) 탭에서 확인할 수 있습니다. 또한 ServBay는 비밀번호 초기화 기능을 제공하므로, 동일한 위치의 버튼을 통해 쉽게 갱신할 수 있습니다.
- A: 데이터베이스
- Q: 다른 데이터베이스 관리 도구를 사용해도 되나요?
- A: 물론입니다. ServBay의 데이터베이스(MariaDB/MySQL)는 표준이므로 MySQL 프로토콜을 지원하는 모든 도구(예: ServBay를 통해 설치된 phpMyAdmin, DBeaver, TablePlus 등)를 사용할 수 있습니다. MySQL Workbench는 공식에서 추천하는 강력한 선택지입니다.
요약
이 가이드를 통해 강력한 MySQL Workbench를 활용하여 ServBay 로컬 개발 환경의 MariaDB/MySQL 데이터베이스에 연결하고 관리하는 방법을 익혔습니다. 데이터베이스 설계, SQL 개발, 일상적인 데이터 관리 등 다양한 작업을 MySQL Workbench와 ServBay로 효율적이고 편리하게 수행할 수 있습니다. 이러한 활용법을 습득하면 ServBay를 보다 효과적으로 이용하여 웹 프로젝트를 구축 및 관리할 수 있습니다.