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단계: 환경 변수 편집
- 고급 탭 → 환경 변수 버튼 클릭
- 시스템 변수 섹션에서 Path 선택
- 편집 버튼 클릭
3단계: MariaDB 경로 추가
- 새로 만들기 클릭
- MariaDB bin 디렉토리 경로 입력
C:\Program Files\MariaDB 11.4\bin
- 확인 버튼으로 모든 창 닫기
사용자 변수 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 |