AD JB Toolbox 01

MariaDB 강좌 / Windows에 MariaDB 설치하고 서버 실행하기

Windows에서는 MariaDB의 MSI 설치 파일로 서버를 설치하고 Windows 서비스로 실행할 수 있습니다. 설치할 때 서비스 이름·포트·관리자 비밀번호를 기록하고, 설치 후에는 서버 접속과 SQL 실행까지 확인해야 준비가 끝납니다.

설치 전에 확인할 사항

이 글은 새 로컬 학습 환경을 만드는 Windows 11 64비트 사용자 기준입니다. MSI 설치와 서비스 변경에는 관리자 권한이 필요할 수 있습니다. 이미 MariaDB나 MySQL이 있는 컴퓨터라면 설치 마법사에서 기존 인스턴스를 업그레이드하는 선택과 새 학습 인스턴스를 만드는 선택을 구분하세요.

PowerShell에서 아래를 실행해 기존 서비스와 3306 포트 사용 여부를 먼저 읽어 봅니다. 서비스 표시 이름과 실제 Name은 다를 수 있으며, 서비스명이 다르다고 데이터가 없는 것은 아닙니다.

Get-Service | Where-Object { $_.Name -match 'MariaDB|MySQL' }
Get-NetTCPConnection -State Listen -LocalPort 3306 -ErrorAction SilentlyContinue

조회된 서버가 있다면 그 서비스를 임의로 중지하거나 데이터 폴더를 재사용하지 않습니다. 새 인스턴스가 꼭 필요하면 서비스 이름과 포트를 분리하고, 아래 명령의 포트도 선택한 값으로 맞춥니다. 처음 설치하는 PC에서는 이 결과가 없어도 정상입니다.

MSI 설치 파일과 구성 요소 선택

  1. MariaDB 공식 다운로드에서 MariaDB Server의 지원되는 안정판과 Windows x64 MSI 파일을 선택합니다. 개발·미리보기 버전은 이 입문 실습의 기준으로 사용하지 않습니다.
  2. MSI 파일을 실행하고 사용권 안내를 확인한 뒤 Custom Setup 단계로 진행합니다. Database instance와 Server·Client 구성 요소가 선택되어 있는지 확인합니다.
  3. 설치 위치와 데이터 디렉터리를 기록합니다. 예시 경로는 C:\Program Files\MariaDB 12.3\이며, 실제 선택한 경로가 다르면 이후 명령도 바꾸어야 합니다. HeidiSQL 같은 GUI 도구는 이 강좌의 필수 조건이 아닙니다.

설치 마법사의 항목 이름과 화면 배치는 버전에 따라 달라질 수 있습니다. 설정 항목의 의미와 Database instance 선택 조건은 공식 Windows MSI 설치 설명을 기준으로 확인하세요. 기존 서비스를 업그레이드하는 옵션은 새 설치 실습에서 선택할 필요가 없습니다.

관리자 인증·서비스·포트 정하기

설정 학습 환경에서 선택할 기준
root 비밀번호 직접 정한 긴 비밀번호를 기록합니다. 예제 계정의 비밀번호와 구분합니다.
root 원격 접속 같은 PC에서 학습하므로 원격 root 접속 허용을 켤 필요가 없습니다.
익명 계정 익명 계정 생성은 선택하지 않습니다.
Windows 서비스 Install as service를 선택하고 실제 서비스 이름을 기록합니다. 기본 이름이 MariaDB인 경우를 아래에서 사용합니다.
TCP/IP·포트 로컬 TCP 접속을 사용할 경우 네트워크 기능과 비어 있는 포트를 선택합니다. 기본 예시는 3306입니다.
문자 집합 옵션 설치 화면의 UTF8 옵션만으로 utf8mb4 설정이 끝났다고 간주하지 않습니다. 실습 데이터베이스에서 명시합니다.

서비스는 Windows가 서버 프로세스를 시작·중지하도록 관리하는 방식입니다. 서버의 포트는 클라이언트가 접속할 주소의 일부이며, 다른 프로그램이 같은 포트를 사용하면 설치 또는 서버 시작이 실패할 수 있습니다. 로컬 실습을 위해 외부에서 접근하는 방화벽 규칙을 추가할 필요는 없습니다.

서비스 상태와 관리자 접속 확인

설치를 끝낸 뒤 PowerShell에서 서비스 상태를 확인합니다. 아래의 MariaDB는 앞에서 기록한 실제 서비스 Name으로 바꾸세요.

Get-Service -Name MariaDB

Status가 Running이면 서버 서비스가 실행 중입니다. Stopped이면 관리자 PowerShell에서 해당 학습 서비스를 시작하고 다시 확인합니다. 기존 운영 서비스에 이 명령을 대신 적용하지 않습니다.

Start-Service -Name MariaDB
Get-Service -Name MariaDB

시작 메뉴의 MariaDB Command Prompt를 열면 설치된 bin 폴더가 경로에 포함된 환경을 사용할 수 있습니다. 일반 PowerShell에서 프로그램을 못 찾는다면 실제 경로를 지정해 다음처럼 실행하세요. 공백이 있는 실행 파일 경로 앞의 &는 PowerShell의 호출 연산자입니다.

& "C:\Program Files\MariaDB 12.3\bin\mariadb.exe" --protocol=tcp --host=127.0.0.1 --port=3306 --user=root --password --default-character-set=utf8mb4

비밀번호는 명령어에 이어 적지 않고 Enter password 요청에서 입력합니다. 화면에 비밀번호 문자가 보이지 않아도 입력은 진행될 수 있습니다. 접속한 뒤에는 PowerShell 명령이 아니라 아래 SQL을 실행합니다.

SELECT VERSION() AS server_version;
SELECT 1 + 1 AS result;

버전 문자열과 result 2가 나오면 서버·클라이언트·인증·SQL 실행 경로를 확인한 것입니다. 단순히 클라이언트 창이 열린 것만으로 확인을 마치지 않습니다.

공통 학습용 계정 준비

root는 설치와 계정 관리에 사용하고 4~6강 실습에는 course_user를 사용합니다. 아래 SQL의 비밀번호 자리에는 직접 정한 학습용 비밀번호를 넣으세요. 계정 생성 전에 같은 계정이 이미 있는지 관리자 접속에서 확인합니다.

SELECT User, Host FROM mysql.user WHERE User = 'course_user';

같은 User·Host가 이미 있다면 CREATE USER를 반복하거나 그 계정을 삭제하지 말고 용도와 비밀번호를 확인합니다. 없는 새 계정을 만드는 경우에만 다음을 실행합니다.

CREATE USER 'course_user'@'127.0.0.1'
  IDENTIFIED BY 'CHANGE_THIS_TO_YOUR_OWN_PASSWORD';

GRANT ALL PRIVILEGES ON shopcourse.*
  TO 'course_user'@'127.0.0.1';

SHOW GRANTS FOR 'course_user'@'127.0.0.1';

이 권한은 shopcourse 데이터베이스 범위이며 서버 전체 관리자 권한과 다릅니다. 아직 데이터베이스가 없어도 해당 이름 범위의 권한을 지정할 수 있습니다. 학습 계정이 그 데이터베이스를 만들고 테이블을 관리하도록 준비한 것으로, 운영 프로그램용 계정의 최소 권한 설계는 별도 주제입니다. 계정·권한 문법은 CREATE USER와 GRANT를 참고하세요.

127.0.0.1을 계정 Host로 지정했으므로 실습 클라이언트도 TCP와 127.0.0.1을 명시합니다. localhost·Unix 소켓·다른 주소로 접속하는 예제와 섞지 않습니다.

EXIT;
mariadb --protocol=tcp --host=127.0.0.1 --port=3306 --user=course_user --password --default-character-set=utf8mb4 --abort-source-on-error

새 창에서 학습용 비밀번호로 접속한 뒤 SELECT CURRENT_USER();를 실행해 course_user@127.0.0.1 권한 계정인지 확인합니다. 파일 실행 방법은 명령줄 클라이언트와 SQL 파일 강좌에서 이어서 사용합니다.

시작·접속 오류 확인과 설정 되돌리기

증상 확인 순서
서비스가 시작되지 않음 같은 포트 사용 여부 → 기록한 데이터 폴더 → 시작 메뉴의 Error log 또는 데이터 폴더의 오류 로그
mariadb를 찾을 수 없음 MariaDB Command Prompt 사용 → 실제 bin 경로와 mariadb.exe 존재 확인
접속 거부·서버 연결 실패 서비스 Running 여부 → --host와 --port → 선택한 학습 인스턴스 일치 여부
Access denied root와 course_user 구분 → 비밀번호 → 접속 주소와 계정 Host 확인

설정 파일을 바꾸어야 한다면 시작 메뉴의 my.ini 바로가기나 기록한 데이터 디렉터리에서 파일을 찾아 원본 사본을 먼저 보관합니다. 해당 인스턴스의 포트·주소 설정만 바꾸고 서비스를 재시작한 뒤 다시 접속합니다. 실패하면 사본의 설정으로 되돌리고 같은 서비스를 재시작합니다.

서버를 잠시 멈추는 것은 프로그램 제거와 다릅니다. 실습을 끝내 서버가 필요 없으면 해당 학습 서비스만 중지할 수 있으며 데이터 파일은 그대로 남습니다. 제거 프로그램에서 데이터 디렉터리 삭제를 선택하면 저장한 데이터도 없어질 수 있으므로, 서비스 중지·프로그램 제거·데이터 삭제를 구분합니다.

같은 카테고리의 다른 글
MariaDB 강좌 / NULL·기본값·NOT NULL·CHECK로 입력 조건 정하기

MariaDB 강좌 / NULL·기본값·NOT NULL·CHECK로 입력 조건 정하기

NULL·빈 문자열·0·입력 생략을 구분하고 DEFAULT·NOT NULL·CHECK의 역할을 실습합니다. nullable 열의 CHECK 예외, 실패 입력, 제약 이름과 설정 복원 방법을 설명합니다.

MariaDB 강좌 / Ubuntu에 MariaDB 설치하고 서버 실행하기

MariaDB 강좌 / Ubuntu에 MariaDB 설치하고 서버 실행하기

Ubuntu APT 설치 후 서버 실행·자동 시작·관리자 소켓 인증을 확인합니다. 로컬 TCP 학습 계정을 만들고 패키지 버전, 인증 오류와 서비스 로그를 확인하는 절차를 설명합니다.

MariaDB / 데이터베이스 저장 위치 변경하는 방법

MariaDB / 데이터베이스 저장 위치 변경하는 방법

MariaDB의 버전이 12.1이라고 할 때, 윈도우용 MariaDB의 기본 설치 위치는 C:\Program Files\MariaDB 12.1, 데이터베이스 저장 위치는 C:\Program Files\MariaDB 12.1\data입니다. 데이터베이스 저장 위치를 다음으로 변경해보겠습니다. D:\Database\MariaDB\data

MariaDB 강좌 / 문자열 타입 선택하기: CHAR·VARCHAR·TEXT

MariaDB 강좌 / 문자열 타입 선택하기: CHAR·VARCHAR·TEXT

CHAR·VARCHAR·TEXT를 저장 목적에 따라 선택하고 문자 수·바이트 수·끝 공백을 비교합니다. 한글과 이모지 입력, 길이 초과 오류, 정렬 규칙과 긴 본문 저장 시 주의점을 설명합니다.

MariaDB 강좌 / 데이터베이스 만들기: CREATE DATABASE·USE·문자 집합

MariaDB 강좌 / 데이터베이스 만들기: CREATE DATABASE·USE·문자 집합

shopcourse 데이터베이스를 만들고 현재 연결의 작업 대상으로 선택합니다. utf8mb4와 collation, 기존 DB에서 IF NOT EXISTS의 한계, 권한·문자 설정 확인을 예제로 설명합니다.

MariaDB 강좌 / Windows에 MariaDB 설치하고 서버 실행하기

MariaDB 강좌 / Windows에 MariaDB 설치하고 서버 실행하기

Windows MSI 설치에서 서버·클라이언트, 관리자 인증, 서비스와 포트를 설정합니다. SQL 실행을 확인하고 이후 강좌에서 사용할 학습용 계정을 준비하며 시작·접속 오류를 점검합니다.

MariaDB 강좌 / 첫 실습: 상품 테이블을 만들고 데이터를 넣어 조회하기

MariaDB 강좌 / 첫 실습: 상품 테이블을 만들고 데이터를 넣어 조회하기

상품 세 건을 저장하는 전체 SQL로 테이블 생성·입력·조회 과정을 실습합니다. 구조와 행 수, 가격·재고 조건의 예상 결과를 확인하고 반복 입력 오류와 실습 테이블 초기화 범위를 구분합니다.

MariaDB 강좌 / MariaDB란? 데이터베이스·SQL·MySQL과의 관계

MariaDB 강좌 / MariaDB란? 데이터베이스·SQL·MySQL과의 관계

MariaDB 서버·클라이언트와 데이터베이스·테이블·행·열의 관계를 상품 예제로 이해합니다. SQL의 역할, MySQL과의 관계, 이후 강좌에서 사용할 실습 환경을 구분합니다.

MariaDB / 피벗 테이블 만드는 방법

MariaDB / 피벗 테이블 만드는 방법

피벗 테이블은 엑셀의 유용한 기능 중의 하나입니다. 예를 들어 아래의 왼쪽 데이터를 오른쪽 표처럼 만드는 것이 피벗 테이블입니다. 조건에 따라 그룹화시켜서 보기 좋게 데이터를 정리하는 것이라 보면 됩니다. MariaDB에서도 몇 가지 함수를 이용하여 피벗 테이블을 만들 수 있습니다.

MariaDB / 연산자 / 논리 연산자

MariaDB / 연산자 / 논리 연산자

MariaDB의 논리 연산자에 대하여 알아보겠습니다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_2이라는 테이블입니다. 각 열의 데이터 형식은 다음과 같습니다. C_1 : 정수 C_2 : 문자 +----+------+------+ | ID | C_1 | C_2 | +----+------+------+ | 1 | 1 | A | | 2 | ...