본문 바로가기

개발/DB

Windows에서 MariaDB 환경변수 설정하기

Windows에서 MariaDB 환경변수 설정하기

MariaDB를 Windows에 MSI로 설치했는데 명령 프롬프트에서 mariadb --version 명령어가 작동하지 않나요? 저도 처음에 같은 문제를 겪었는데, 이는 환경변수 설정 때문입니다. 오늘은 이 문제를 해결하는 방법을 차근차근 알아보겠습니다.

🤔 환경변수가 뭔가요?

환경변수를 이해하기 위해 일상생활 예시로 설명해 보겠습니다.

엄마가 "가위 좀 가져와!"라고 했을 때를 생각해 보세요.

  • 환경변수가 없다면: "어디 있는 가위요? 거실 서랍? 부엌 서랍? 공부방?"
  • 환경변수가 있다면: 엄마가 미리 "가위는 거실 서랍 → 부엌 서랍 → 공부방 순서로 찾아봐"라고 알려준 상태

컴퓨터도 마찬가지입니다. PATH 환경변수는 실행 파일들이 어디에 있는지 컴퓨터에게 알려주는 "지름길 모음집"이라고 생각하면 됩니다.

# PATH 환경변수의 구조
PATH = "경로1;경로2;경로3;..."

💻 먼저 MariaDB가 제대로 설치되었는지 확인해 보기

시작 메뉴에서 확인하기

MariaDB MSI 설치가 성공했다면 시작 메뉴에 다음 항목들이 나타납니다:

  • MariaDB Client - 명령줄 클라이언트 실행
  • Command Prompt - MariaDB 전용 명령 프롬프트
  • Database directory - 데이터 디렉토리 탐색
  • Error log - 오류 로그 확인

프로그램 목록에서 확인하기

  • 제어판 → 프로그램 및 기능에서 MariaDB 항목 확인
  • 또는 설정 → 앱 → MariaDB 검색

설치 디렉토리 직접 확인하기

기본 설치 경로를 탐색기에서 확인해 보세요

C:\Program Files\MariaDB 11.4\
C:\Program Files\MariaDB\

🛠️ 환경변수 설정하기

왜 환경변수 설정이 필요할까요?

구분 설정 전 설정 후
명령어 입력 "C:\Program Files\MariaDB 11.4\bin\mariadb.exe" --version mariadb --version
편의성 매번 전체 경로 입력 필요 😫 간단한 명령어로 실행 😊
스크립트 작성 복잡한 경로 관리 필요 직관적인 명령어 사용 가능

단계별 설정 방법

1단계: 시스템 속성 열기

방법 1: 단축키 사용

  • Windows 키 + R → sysdm.cpl 입력 → 엔터

방법 2: 우클릭 메뉴 사용

  • 내 PC 우클릭 → 속성 → 고급 시스템 설정

2단계: 환경 변수 편집

  1. 고급 탭 → 환경 변수 버튼 클릭
  2. 시스템 변수 섹션에서 Path 선택
  3. 편집 버튼 클릭

3단계: MariaDB 경로 추가

  1. 새로 만들기 클릭
  2. MariaDB bin 디렉토리 경로 입력
C:\Program Files\MariaDB 11.4\bin
  1. 확인 버튼으로 모든 창 닫기

사용자 변수 vs 시스템 변수

구분 사용자 변수 시스템 변수
적용 범위 현재 사용자만 모든 사용자
권한 일반 사용자 권한 관리자 권한 필요
우선순위 낮음 높음
추천 용도 개인 환경 서버 또는 공용 환경

 

개인 PC라면 사용자 변수로도 충분하지만, 시스템 변수로 설정하는 것을 추천합니다.

PowerShell로도 설정할 수 있어요

# 현재 세션에서만 적용
$env:PATH += ";C:\Program Files\MariaDB 11.4\bin"

# 영구적으로 적용 (관리자 권한 필요)
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\Program Files\MariaDB 11.4\bin", "Machine")

✅ 설정이 잘 되었는지 확인해 보기

새로운 cmd 창을 열고 다음 명령어들을 실행해 보세요

# 버전 확인
mariadb --version
mysql --version

# 도움말 확인
mariadb --help

# 연결 테스트
mariadb -u root -p

추가로 확인할 수 있는 방법들

PATH 변수 내용 확인하기

# Windows CMD
echo %PATH%

# PowerShell
$env:PATH -split ';'

실행 파일 위치 확인하기

# where 명령어로 실행 파일 경로 확인
where mariadb
where mysql
where mysqldump

다양한 도구들 테스트해 보기

# 데이터베이스 관리 도구
mariadb-admin --version
mysqldump --version
mariadb-import --version

🚀 이제 사용할 수 있는 MariaDB 명령어들

환경변수 설정 후 사용할 수 있는 주요 명령어들입니다

기본 클라이언트 도구

# MariaDB 접속
mariadb -u username -p -h hostname -P port

# MySQL 호환 클라이언트
mysql -u root -p

# 배치 모드 실행
mariadb -u root -p < script.sql

관리 도구

# 데이터베이스 백업
mysqldump -u root -p database_name > backup.sql

# 데이터 가져오기
mariadb -u root -p database_name < backup.sql

# 서버 상태 확인
mariadb-admin -u root -p status

IDE와 함께 사용하기

  • Visual Studio Code: 터미널에서 직접 MariaDB 명령어 실행
  • IntelliJ IDEA: Database Tools에서 MariaDB 연결 시 자동 인식
  • DBeaver: 드라이버 경로 자동 감지

스크립트 자동화

배치 파일:

@echo off
REM 배치 파일에서 MariaDB 명령어 사용
mariadb -u root -p%DB_PASSWORD% -e "SHOW DATABASES;"

PowerShell 스크립트:

$result = mariadb -u root -p$password -e "SELECT VERSION();" 2>$null
if ($LASTEXITCODE -eq 0) {
    Write-Host "MariaDB 연결 성공: $result"
}

🔧 문제가 생겼을 때 해결 방법

자주 발생하는 문제들

1. 명령어를 찾을 수 없다는 오류

mariadb은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

해결방법:

  • 환경변수 설정 다시 확인
  • cmd 창 재시작
  • 경로에 공백이 있는 경우 따옴표 사용

2. 권한 문제

Access denied for user 'root'@'localhost'

해결방법:

  • 관리자 권한으로 cmd 실행
  • MariaDB 서비스 상태 확인
  • 초기 비밀번호 설정 확인

3. 포트 충돌

Can't connect to MariaDB server on 'localhost' (10061)

해결방법:

  • 다른 MySQL/MariaDB 인스턴스 확인
  • 포트 번호 변경 또는 충돌 해결
  • 방화벽 설정 확인

디버깅할 때 유용한 팁들

환경변수 우선순위 확인

# PATH에서 mariadb 실행 파일 검색 순서 확인
where mariadb

프로세스 모니터링

# 실행 중인 MariaDB 프로세스 확인
tasklist | findstr mariadb
tasklist | findstr mysql

📚 마무리하며

환경변수 설정은 처음에는 복잡해 보이지만, 한 번 설정해 두면 정말 편리합니다.

이 설정을 통해 얻을 수 있는 장점

  • 편리함: 복잡한 경로 입력 없이 간단한 명령어로 MariaDB 사용
  • 일관성: 어떤 폴더에서든 동일한 방식으로 MariaDB 접근
  • 안정성: 시스템 재부팅 후에도 설정 유지
  • 생산성: IDE 통합 및 스크립트 자동화 가능
  • 협업: 팀원들과 동일한 환경 구축

환경변수 설정은 한 번만 해두면 계속 사용할 수 있는 "투자"라고 생각합니다. 이제 MariaDB를 더욱 효율적으로 활용해 보세요!

💡 추가 팁: 다른 데이터베이스 도구(PostgreSQL, MongoDB 등)도 동일한 방식으로 환경변수를 설정할 수 있습니다. 새로운 도구를 설치할 때마다 이 방법을 활용해 보세요!

'개발 > DB' 카테고리의 다른 글

ANSI 표준 SQL, 왜 필요했을까?  (0) 2025.06.10
Oracle Session에 대해서  (0) 2022.06.21
MySQL 조작을 위한 CMD 연동  (0) 2022.04.04
MySQL : 변수 선언, 함수, PROCEDURE  (1) 2022.02.18
MySQL : IGNORE, DUPLICATE KEY  (0) 2022.02.18