개발/개발환경구성(macOS)

AI Copilot Dev#2-MariaDB 로컬 개발 환경 구축 (MacOS)

sftth-main 2026. 1. 1. 16:51
반응형

이번 글에서는  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 접속 테스트

  1. 좌측 하단 [Test Connection] 버튼 클릭. (드라이버 다운로드 팝업이 뜨면 다운로드 진행)
  2. "Connected" 메시지가 뜨면 정상적으로 환경 구축이 완료된 것입니다.
반응형