MariaDB 설치 가이드: 기능, Windows/Linux/macOS 설정 및 기본 작업

1. MariaDB란 무엇인가?

MariaDB는 MySQL에서 포크된 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 원래 MySQL의 원 개발자들에 의해 만들어졌으며 데이터 보안과 성능에 중점을 두고 설계되었습니다. 주요 장점 중 하나는 기업과 개인 사용자 모두에게 신뢰할 수 있으면서도 무료로 사용할 수 있다는 점입니다.

MariaDB 개요 및 주요 기능

MariaDB는 MySQL과 높은 호환성을 가지고 있으며 MySQL 5.5 버전을 기반으로 발전했습니다. 따라서 MySQL 사용자는 일반적으로 마이그레이션이 쉽고, 많은 경우 기존 데이터베이스와 코드를 수정 없이 사용할 수 있습니다. 또한 보안과 속도를 강조하는 최신 기술을 도입하여 클라우드 환경에서도 효율적인 운영이 가능합니다.

MariaDB와 MySQL의 차이점

MariaDB와 MySQL은 매우 유사하지만 개발 방향과 라이선스 측면에서 차이가 있습니다. MariaDB는 오픈 소스 커뮤니티에 의해 활발히 개발되며 새로운 기능과 성능 향상이 자주 추가됩니다. 반면 MySQL은 Oracle Corporation이 관리하며 상업적 사용을 위한 기능이 포함되는 경우가 많습니다. 또한 MariaDB는 독자적으로 특정 SQL 구문 확장 및 기능을 채택하여 일부 기능은 MariaDB에서만 사용할 수 있습니다.

MariaDB의 주요 사용 사례 및 장점

MariaDB는 소규모 웹사이트부터 대규모 데이터 분석 시스템에 이르기까지 다양한 애플리케이션에서 사용됩니다. 특히 속도와 확장성이 요구되는 환경에서 강점을 보입니다. 많은 클라우드 서비스 제공업체가 MariaDB를 채택하고 있다는 사실은 그 높은 성능과 신뢰성을 입증합니다.

2. MariaDB의 주요 기능 및 이점

MariaDB는 데이터베이스 처리 속도를 높이기 위해 설계된 다양한 기능을 포함하고 있습니다. 오픈 소스이기 때문에 자유롭게 사용하고 커스터마이징할 수 있습니다.

고성능 데이터베이스 엔진

MySQL과 마찬가지로 MariaDB는 InnoDB와 MyISAM과 같은 여러 스토리지 엔진을 지원합니다. 특히 InnoDB 엔진은 트랜잭션 관리에 뛰어나 데이터 무결성을 유지하면서 고속 처리를 가능하게 합니다. 대규모 데이터 처리가 필요한 시스템은 이러한 엔진을 활용하여 성능을 극대화할 수 있습니다.

오픈 소스를 통한 자유

MariaDB는 GPL( GNU 일반 공중 라이선스) 하에 배포되어 누구나 무료로 사용, 수정, 배포할 수 있습니다. 이를 통해 기업과 개인이 MariaDB를 자유롭게 활용해 시스템을 구축하고 맞춤화할 수 있습니다. 또한 활발한 오픈 소스 커뮤니티 지원 덕분에 문제 발생 시 해결책을 찾기가 용이합니다.

대규모 데이터 및 클러스터 환경 지원

MariaDB는 높은 확장성을 제공하며 대규모 데이터베이스와 분산 환경에서도 안정적으로 동작합니다. Galera Cluster와 복제 기능을 활용하면 데이터를 여러 서버에 분산시켜 장애 내성과 성능을 향상시킬 수 있습니다. 이를 통해 비즈니스 확장에 맞춰 데이터베이스 인프라를 성장시킬 수 있습니다.

3. MariaDB 설치 전 준비 사항

MariaDB를 설치하기 전에 시스템 환경과 종속성을 준비하는 것이 중요합니다. 아래는 설치 전에 확인해야 할 핵심 사항들입니다.

시스템 요구 사항 확인

MariaDB를 설치하려면 서버가 메모리 용량 및 사용 가능한 디스크 공간과 같은 특정 시스템 요구 사항을 충족해야 합니다. 대용량 데이터나 높은 워크로드를 처리하는 환경에서는 충분한 메모리와 CPU 성능이 특히 중요합니다. 공식 웹사이트에서 최신 요구 사항을 확인하고 인프라 환경을 적절히 준비하십시오.

필수 소프트웨어 및 종속성 확인

MariaDB를 설치하려면 사전에 특정 패키지와 종속성을 설치해야 할 수 있습니다. 예를 들어 Linux 환경에서는 apt 또는 yum과 같은 패키지 관리자를 사용해 필요한 패키지를 설치할 수 있습니다. 또한 방화벽 설정을 확인하여 MariaDB에 대한 접근이 차단되지 않았는지 확인하십시오.

백업의 중요성

새 데이터베이스 시스템을 설치하기 전에 기존 데이터베이스를 백업하는 것이 강력히 권장됩니다. MySQL에서 MariaDB로 마이그레이션할 때는 호환성 문제가 발생할 수 있기 때문에 특히 중요합니다. 사전에 백업을 수행하면 데이터의 안전을 보장할 수 있습니다.

4. MariaDB 설치 절차

MariaDB 설치 과정은 운영 체제에 따라 다릅니다. 아래는 Windows, Linux, macOS 환경에 대한 설치 안내입니다.

Windows용

Windows에 MariaDB를 설치하려면 공식 웹사이트에서 설치 프로그램을 다운로드하여 실행하십시오.

1. 공식 웹사이트에서 다운로드
MariaDB 공식 웹사이트(https://mariadb.org/)를 방문하여 Windows 설치 프로그램을 다운로드하십시오. 사이트에서 원하는 버전을 선택할 수 있으며, 최신 안정 버전을 사용하는 것이 권장됩니다.

2. 설치 프로그램을 사용한 설정
다운로드한 설치 프로그램을 실행하고 설치 마법사의 안내에 따라 MariaDB를 설정하십시오. 마법사를 통해 설치할 구성 요소와 설치 디렉터리를 선택할 수 있습니다. 초기 설정 중에 루트 사용자 비밀번호를 설정하라는 요청이 표시되므로 보안을 위해 강력한 비밀번호를 선택하십시오.

3. 초기 구성 및 서비스 시작
설치가 완료되면 MariaDB 서비스가 자동으로 시작됩니다. 서비스를 수동으로 관리해야 하는 경우 Windows “서비스” 관리 도구에서 MariaDB를 시작하거나 중지할 수 있습니다. 서비스가 실행 중인지 확인한 후 명령 프롬프트나 MariaDB 클라이언트 도구를 사용하여 연결하고 정상 동작을 확인하십시오.

Linux용

Linux에서는 배포판에 따라 MariaDB 설치 방법이 다르며 apt 또는 yum과 같은 패키지 관리자를 사용합니다. 아래는 Ubuntu와 CentOS에 대한 일반적인 설치 안내입니다.

1. 패키지 관리자를 이용한 설치 (Ubuntu)

sudo apt update
sudo apt install mariadb-server

Ubuntu에서는 위 명령을 사용하여 MariaDB를 설치할 수 있습니다. 설치 후 MariaDB 서비스가 자동으로 시작됩니다.

2. 저장소 추가 및 설치 (CentOS)
CentOS에서는 기본 저장소에 MariaDB가 포함되지 않을 수 있으므로 설치 전에 공식 MariaDB 저장소를 추가해야 할 수 있습니다.

# Add repository
sudo yum install -y https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

# Install MariaDB
sudo yum install -y MariaDB-server MariaDB-client

설치가 완료되면 서비스를 시작하십시오.

3. 초기 구성 및 서비스 시작
설치 후 다음 명령을 사용하여 MariaDB 서비스를 시작하고 부팅 시 자동으로 시작되도록 활성화하십시오:

sudo systemctl start mariadb
sudo systemctl enable mariadb

서비스가 정상적으로 실행되면 초기 구성 및 보안 강화 작업을 수행하십시오. mysql_secure_installation 스크립트를 실행하여 루트 비밀번호를 설정하고, 익명 사용자를 제거하며, 기타 보안 설정을 적용합니다.

sudo mysql_secure_installation

이로써 Linux에서 MariaDB 기본 설정이 완료됩니다.

macOS용

macOS에서는 Homebrew를 사용하여 MariaDB를 쉽게 설치할 수 있습니다. 아래 단계에 따라 설치 및 구성을 진행하십시오.

1. Homebrew를 이용한 설치
먼저 Homebrew가 설치되어 있는지 확인하십시오. 설치되어 있지 않다면 공식 Homebrew 웹사이트의 안내에 따라 설치하십시오.

brew install mariadb

이 명령을 실행하면 macOS에 MariaDB가 설치됩니다.

2. 초기 구성 및 서비스 시작
설치 후 MariaDB 서비스를 시작하십시오:

brew services start mariadb

시작된 후, 초기 설정을 수행하고 보안을 강화하기 위해 다음 명령을 실행하십시오:

mysql_secure_installation

이 스크립트를 통해 루트 비밀번호를 설정하고, 불필요한 사용자를 제거하며, 테스트 데이터베이스를 삭제할 수 있습니다. 이제 macOS에서 MariaDB를 사용할 준비가 되었습니다.

5. MariaDB 초기 구성

MariaDB를 설치한 후, 보안을 강화하기 위해 초기 구성을 수행하는 것이 중요합니다. 아래는 기본 보안 설정과 불필요한 데이터베이스 및 사용자 제거에 대한 내용입니다.

루트 사용자 비밀번호 설정

설치 직후에는 루트 사용자 비밀번호가 설정되지 않은 경우가 많습니다. 강력한 비밀번호를 구성하세요.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

이 명령은 루트 사용자에 대한 비밀번호를 설정하고 보안을 강화합니다.

불필요한 데이터베이스 및 사용자 제거

MariaDB는 설치 직후 테스트 데이터베이스와 기본 사용자를 포함할 수 있습니다. 다음 명령을 사용하여 불필요한 데이터베이스를 제거하고 보안을 강화하세요.

DROP DATABASE test;
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;

이 명령은 테스트 데이터베이스와 익명 사용자를 제거하여 MariaDB 보안을 개선합니다.

보안 설정 강화

mysql_secure_installation 명령을 실행하여 기본 보안 설정을 더욱 강화할 수 있습니다. 프롬프트에 따라 루트 비밀번호 설정, 익명 사용자 제거, 원격 루트 로그인 비활성화 및 추가 보안 구성을 적용하세요.

6. MariaDB 기본 작업

설치 및 초기 구성을 완료한 후, 기본 데이터베이스 작업을 배우면 MariaDB를 효율적으로 사용할 수 있습니다. 아래는 데이터베이스와 사용자 생성, 테이블 관리 지침입니다.

데이터베이스 생성 및 삭제

데이터베이스 생성
MariaDB에서 새 데이터베이스를 생성하려면 다음 명령을 사용하세요:

CREATE DATABASE database_name;

예시:

CREATE DATABASE example_db;

이 명령은 “example_db”라는 이름의 데이터베이스를 생성합니다.

데이터베이스 삭제
더 이상 필요하지 않은 데이터베이스를 삭제하려면 다음 명령을 사용하세요:

DROP DATABASE database_name;

예시:

DROP DATABASE example_db;

데이터베이스 삭제 시 주의하세요. 이 작업은 되돌릴 수 없습니다.

사용자 생성 및 권한 부여

사용자 생성
새 사용자를 생성하려면 다음 명령을 사용하세요:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

예시:

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';

권한 부여
특정 데이터베이스에 대한 접근 권한을 사용자에게 부여하려면 다음 명령을 사용하세요:

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

예시:

GRANT ALL PRIVILEGES ON example_db.* TO 'user1'@'localhost';

권한 변경을 적용하려면 다음을 실행하세요:

FLUSH PRIVILEGES;

테이블 생성 및 데이터 삽입

테이블 생성
MariaDB에서 새 테이블을 생성하려면 다음 명령을 사용하세요:

CREATE TABLE table_name (
    column_name1 data_type,
    column_name2 data_type,
    ...
);

예시:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    position VARCHAR(50)
);

데이터 삽입
생성된 테이블에 데이터를 삽입하려면 다음 명령을 사용하세요:

INSERT INTO table_name (column_name1, column_name2, ...) VALUES (value1, value2, ...);

예시:

INSERT INTO employees (id, name, age, position) VALUES (1, 'Alice', 28, 'Developer');

데이터 업데이트 및 삭제
기존 데이터를 업데이트하려면 다음 명령을 사용하세요:

UPDATE table_name SET column_name = new_value WHERE condition;

예시:

UPDATE employees SET age = 29 WHERE id = 1;

데이터를 삭제하려면 다음을 사용하세요:

DELETE FROM table_name WHERE condition;

예시:

DELETE FROM employees WHERE id = 1;

7. 문제 해결

아래는 MariaDB 설치 또는 사용 중 발생할 수 있는 일반적인 오류와 문제, 그리고 해결 방법입니다.

일반적인 설치 오류 및 해결 방법

MariaDB 설치 중에 종속성이나 패키지 버전과 관련된 오류가 발생할 수 있습니다. 패키지 관리자를 최신 상태로 업데이트하고 올바른 저장소를 추가하면 이러한 문제의 대부분을 해결할 수 있습니다.

서비스가 시작되지 않을 때 확인할 사항

MariaDB 서비스가 정상적으로 시작되지 않으면 로그 파일(예: /var/log/mariadb)을 확인하여 오류 원인을 파악하십시오. 또한 포트 충돌이 없는지 확인하고 서비스가 이미 실행 중인지 여부를 확인하십시오.

연결 오류의 원인 및 해결책

외부 연결이 불가능한 경우 방화벽 설정과 MariaDB 설정 파일(my.cnf)의 bind-address 설정을 확인하십시오. 필요에 따라 원격 연결을 허용하십시오.

8. 결론

이 문서는 MariaDB의 개요와 설치부터 기본 운영 및 문제 해결까지를 설명했습니다. MariaDB는 고성능·유연한 데이터베이스로, 오픈소스 솔루션으로 널리 사용됩니다. 올바른 설치와 보안 강화, 기본 운영을 숙달함으로써 데이터베이스 관리 역량을 향상시킬 수 있습니다.

추가 학습을 위해 공식 문서와 온라인 커뮤니티를 참고하여 MariaDB에 대한 이해를 심화하십시오.