반응형
이번 글에서는 AI Copilot 개발전에, MacOS Sequoia 15.6.1 환경에서 로컬 개발을 위한 MariaDB 데이터베이스 구축 및 클라이언트 연결 과정을 다룹니다.
1. 개요 및 환경
- 목적: 신규 프로젝트 개발을 위한 로컬 DB 환경 구성
- OS: MacOS Sequoia 15.6.1
- DB: MariaDB (Latest Stable Version via Homebrew)
- Client: DBeaver

2. MariaDB 설치 (Homebrew)
MacOS 환경에서는 Homebrew를 통해 설치 및 관리를 진행합니다.

2.1 설치 명령어 실행
터미널(Terminal)을 열고 아래 명령어를 순차적으로 실행합니다.
# 1. Homebrew 패키지 목록 업데이트
brew update
# 2. MariaDB 설치
brew install mariadb
# 3. 서비스 시작 (Background Service로 등록하여 부팅 시 자동 실행)
brew services start mariadb
# 4. 설치 확인 (버전 정보 출력 확인)
mariadb -V
3. Root 설정 (보안 설정)
MariaDB는 설치 후 보안 스크립트(mysql_secure_installation)를 실행하여 초기 Root 비밀번호 설정 및 익명 사용자 제거 등을 수행해야 안전합니다.
3.1 보안 스크립트 실행
터미널에서 아래 명령어를 실행하고, 질문에 따라 답을 입력합니다.
# 1. 보안 설정 스크립트 실행
sudo mysql_secure_installation
# --- 실행 후 나타나는 질문에 대한 답변 가이드 ---
# Q1. Enter current password for root (enter for none):
# A1. (초기 상태이므로 그냥 Enter 키 입력)
# Q2. Switch to unix_socket authentication [Y/n]
# A2. n (일반 비밀번호 방식을 사용하려면 n 입력)
# Q3. Change the root password? [Y/n]
# A3. Y (Root 비밀번호 설정 진행. 사용할 비밀번호 입력 및 재입력)
# Q4. Remove anonymous users? [Y/n]
# A4. Y (보안상 익명 사용자 제거 권장)
# Q5. Disallow root login remotely? [Y/n]
# A5. Y (로컬 개발용이므로 원격 Root 접속 차단 권장)
# Q6. Remove test database and access to it? [Y/n]
# A6. Y (불필요한 테스트 DB 삭제)
# Q7. Reload privilege tables now? [Y/n]
# A7. Y (설정 즉시 적용)
4. DB 생성
프로젝트에서 사용할 전용 데이터베이스를 생성합니다. MariaDB는 이모지 등을 완벽히 지원하기 위해 utf8mb4 문자셋을 사용하는 것이 좋습니다.
4.1 Database 생성 SQL
먼저 터미널에서 MariaDB 콘솔에 접속한 후 SQL을 실행합니다.
# 콘솔 접속 (설정한 root 비밀번호 입력)
mariadb -u root -p
-- 접속 후 프롬프트(MariaDB [(none)]>)에서 실행
-- 문법: CREATE DATABASE [DB명] CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE dev_project_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 생성 확인
SHOW DATABASES;
5. User 생성 및 권한 부여
애플리케이션 연동 및 팀원 공유를 위한 전용 계정을 생성하고 권한을 부여합니다.
5.1 User 생성 SQL
MariaDB(MySQL) 계열은 유저 생성 시 접속 호스트(localhost 또는 %)를 명시해야 합니다.
-- 1. 유저 생성
-- 문법: CREATE USER '유저명'@'접속호스트' IDENTIFIED BY '비밀번호';
CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'pass1234';
-- 2. 권한 부여 (해당 DB에 대한 모든 권한)
-- 문법: GRANT ALL PRIVILEGES ON [DB명].* TO '유저명'@'접속호스트';
GRANT ALL PRIVILEGES ON dev_project_db.* TO 'dev_user'@'localhost';
-- 3. 권한 설정 메모리에 즉시 적용 (필수)
FLUSH PRIVILEGES;
6. Table 생성 (테스트)
생성한 DB와 유저가 정상적으로 동작하는지 확인하기 위해 샘플 테이블을 생성합니다.
6.1 테이블 생성 및 데이터 입력
-- 1. 사용할 데이터베이스 선택
USE dev_project_db;
-- 2. 테이블 생성 (테스트용)
-- MariaDB는 SERIAL 대신 AUTO_INCREMENT를 주로 사용합니다.
CREATE TABLE member (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 3. 더미 데이터 입력
INSERT INTO member (username, email) VALUES ('test_user_01', 'test01@example.com');
INSERT INTO member (username, email) VALUES ('test_user_02', 'test02@example.com');
-- 4. 조회 확인
SELECT * FROM member;
7. Client 도구(DBeaver) 접속
DBeaver를 사용하여 외부에서 접속이 가능한지 최종 확인합니다.
7.1 연결 설정 정보
DBeaver 실행 후 New Database Connection -> MariaDB를 선택하고 아래 정보를 입력합니다.
| 항목 | 설정 값 | 비고 |
| Host | localhost | 로컬 환경 |
| Port | 3306 | MariaDB 기본 포트 |
| Database | dev_project_db | 4번 항목에서 생성한 DB명 |
| Username | dev_user | 5번 항목에서 생성한 유저명 |
| Password | pass1234 | 5번 항목에서 설정한 비밀번호 |
7.2 접속 테스트
- 좌측 하단 [Test Connection] 버튼 클릭. (드라이버 다운로드 팝업이 뜨면 다운로드 진행)
- "Connected" 메시지가 뜨면 정상적으로 환경 구축이 완료된 것입니다.
반응형
'개발 > 개발환경구성(macOS)' 카테고리의 다른 글
| AI Copilot Dev#4-Gradle 로 Spring Boot 빌드 시키기(MacOS) (0) | 2026.01.01 |
|---|---|
| AI Copilot Dev#3-Java 21 (Azul Zulu) 설치(MacOS) (0) | 2026.01.01 |
| AI Copilot Dev#1 - PostgreSQL 로컬 개발 환경 구축 (MacOS) (0) | 2025.12.31 |