4.5 KiB
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 mariadb후brew services start mariadbmariadb -u root로 접속해jongryangje_devDB·jongryangje사용자 생성 (또는init_jongryangje_dev.sql실행)- 프로젝트
.env에database.default.*설정 - (선택)
php spark db:table또는 웹 접속으로 연결 확인
이후 Phase 1(로그인)·Phase 2(admin) 개발 시 이 DB를 사용하면 됩니다.