Files
jongryangje/docs/기본 개발계획/07-local-db-setup.md
2026-04-08 00:23:55 +09:00

4.5 KiB

종량제 로컬 DB 설정 (MariaDB)

로컬에서 개발을 시작할 때 MariaDB 설치·DB 생성·프로젝트 연결 방법입니다.


1. MariaDB 버전

  • 권장: MariaDB 10.11 LTS 또는 11.x 최신 안정(stable) 중 하나를 사용하면 됩니다.
  • 10.11 LTS: 장기 지원 버전. 운영 서버와 버전을 맞추고 싶을 때 적합.
  • 11.x (최신 stable): 최신 기능·성능 개선이 필요할 때 적합. PHP 8 + CI4와 호환됩니다.
  • 정리: “꼭 최신이어야 한다”는 필요는 없고, 10.11 이상이면 충분합니다. Homebrew로 설치 시 brew install mariadb 는 보통 최신 stable을 설치합니다.

2. 설치 (macOS, Homebrew)

# MariaDB 설치
brew install mariadb

# 서비스 기동 (재부팅 후에도 자동 기동 원하면)
brew services start mariadb
  • 포트: 기본 3306. 다른 MySQL/MariaDB가 이미 쓰고 있으면 충돌할 수 있으니, 필요 시 brew services list 등으로 확인합니다.

3. DB·사용자 생성

터미널에서 MariaDB에 접속한 뒤 아래 SQL을 실행합니다.

mariadb -u root

비밀번호를 물어보면, 설치 직후에는 비밀번호가 없을 수 있어 Enter만 누르면 됩니다. (이미 root 비밀번호를 설정했다면 해당 비밀번호 입력.)

SQL:

CREATE DATABASE IF NOT EXISTS jongryangje_dev
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

CREATE USER IF NOT EXISTS 'jongryangje'@'localhost'
  IDENTIFIED BY 'jongryangje_dev';

GRANT ALL PRIVILEGES ON jongryangje_dev.* TO 'jongryangje'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  • DB 이름: jongryangje_dev
  • 사용자: jongryangje
  • 비밀번호: jongryangje_dev
    → 비밀번호를 다르게 쓰려면 아래 .env 설정에서 같이 바꿉니다.

4. 프로젝트 .env 설정

프로젝트 루트에 .env 파일이 없으면 env 를 복사한 뒤 DB 설정만 넣어도 됩니다.

cd /Users/tae/PhpstormProjects/jongryangje
cp env .env

.env 에서 다음 항목의 주석(#)을 제거하고 값을 수정합니다.

# ENVIRONMENT
CI_ENVIRONMENT = development

# APP (로컬 주소에 맞게)
app.baseURL = 'http://jongryangje.local/'
# 또는 PHP 내장 서버 사용 시:
# app.baseURL = 'http://localhost:8080/'

# DATABASE
database.default.hostname = localhost
database.default.database = jongryangje_dev
database.default.username = jongryangje
database.default.password = jongryangje_dev
database.default.DBDriver = MySQLi
database.default.port = 3306
  • 비밀번호를 3단계에서 다르게 정했다면 database.default.password 에 같은 값을 넣습니다.

5. 연결 확인

CI4에서 DB를 쓰는 코드(예: 로그인·모델)를 넣은 뒤 브라우저로 접속해 보거나, 아래처럼 스파크로 확인할 수 있습니다.

cd /Users/tae/PhpstormProjects/jongryangje
php spark db:table

(마이그레이션을 아직 안 했다면 테이블 목록이 비어 있을 수 있습니다. 에러 없이 실행되면 연결은 된 것입니다.)


6. 프로젝트 내 초기화 SQL (선택)

DB·사용자 생성을 한 번에 하려면 프로젝트에 포함된 SQL을 사용할 수 있습니다.

# MariaDB가 실행 중일 때 (프로젝트 루트에서)
mariadb -u root < writable/database/init_jongryangje_dev.sql
  • 파일 위치: writable/database/init_jongryangje_dev.sql
  • root 비밀번호가 있으면: mariadb -u root -p < writable/database/init_jongryangje_dev.sql

7. MariaDB가 기동되지 않을 때

  • brew services start mariadb 후에도 Can't connect to local server through socket 이 나오면:
    • 터미널을 새로 연 뒤 다시 brew services start mariadb 실행
    • 또는 재부팅brew services start mariadb
    • macOS에서 launchctl 오류(예: Bootstrap failed 5)가 나오면, 재부팅 후 재시도하거나 Homebrew MariaDB 문서 참고
  • 수동 기동: mariadbd --datadir=/opt/homebrew/var/mysql & (경로는 brew --prefix mariadb/var/mysql 로 확인)

8. 요약 체크리스트

  • brew install mariadbbrew services start mariadb
  • mariadb -u root 로 접속해 jongryangje_dev DB·jongryangje 사용자 생성 (또는 init_jongryangje_dev.sql 실행)
  • 프로젝트 .envdatabase.default.* 설정
  • (선택) php spark db:table 또는 웹 접속으로 연결 확인

이후 Phase 1(로그인)·Phase 2(admin) 개발 시 이 DB를 사용하면 됩니다.