MariaDB 설치 및 환경 설정

MariaDB 설치 및 환경 설정

1️⃣ MariaDB 설치 방법 (Linux, Windows, macOS, Docker, Kubernetes)

MariaDB는 다양한 운영 체제 및 환경에서 설치할 수 있습니다. 각각의 설치 방법을 아래에 설명하겠습니다.

Linux에서 MariaDB 설치

  1. Ubuntu/Debian:

    sudo apt update
    sudo apt install mariadb-server
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
  2. CentOS/RHEL:

    sudo yum install mariadb-server
    sudo systemctl start mariadb
    sudo systemctl enable mariadb

Windows에서 MariaDB 설치

  1. MariaDB 공식 웹사이트에서 Windows용 설치 프로그램을 다운로드합니다.

  2. 설치 프로그램을 실행하고, 지침을 따라 MariaDB를 설치합니다.

  3. 설치 후, MariaDB 서비스를 시작합니다.

    • Services.msc에서 MariaDB 서비스를 찾아 시작할 수 있습니다.

macOS에서 MariaDB 설치

  1. Homebrew를 사용하여 설치:

    brew install mariadb
  2. 설치 후 MariaDB를 시작:

    brew services start mariadb

Docker에서 MariaDB 설치

Docker를 사용하면 MariaDB를 쉽게 컨테이너화하여 실행할 수 있습니다. 아래 명령어로 MariaDB 컨테이너를 실행할 수 있습니다.

docker run --name mariadb -e MYSQL_ROOT_PASSWORD=rootpassword -d mariadb:latest

Kubernetes에서 MariaDB 설치

Kubernetes에서 MariaDB를 설치하기 위해 Helm을 사용할 수 있습니다. MariaDB를 배포하는 기본적인 방법은 아래와 같습니다.

  1. Helm 차트 설치:

    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm install my-mariadb bitnami/mariadb
  2. 서비스 상태 확인:

    kubectl get pods
    kubectl get svc

2️⃣ MariaDB의 기본 디렉터리 구조 및 파일 설명 (/var/lib/mysql, /etc/my.cnf)

MariaDB의 기본 디렉터리 구조와 주요 파일들은 데이터베이스의 동작과 관련된 중요한 정보를 담고 있습니다.

디렉터리 구조

  • /var/lib/mysql: MariaDB의 데이터베이스 파일이 저장되는 기본 디렉터리입니다. 데이터베이스의 테이블, 인덱스 및 로그 파일이 여기에 저장됩니다. 각 데이터베이스는 이 디렉터리 내의 개별 폴더로 저장됩니다.

  • /etc/my.cnf: MariaDB의 주요 설정 파일로, 서버가 시작될 때 사용되는 다양한 설정값들을 지정합니다. 이 파일을 통해 MariaDB의 메모리 사용, 쿼리 캐시, 연결 설정 등을 조정할 수 있습니다.

  • /var/log/mysql: MariaDB의 로그 파일이 저장되는 디렉터리입니다. 예를 들어, 오류 로그, 일반 쿼리 로그 등이 포함될 수 있습니다.

파일 설명

  • my.cnf: MariaDB의 글로벌 설정 파일로, MariaDB 서버의 전반적인 설정을 관리합니다. 이 파일은 MariaDB 서버의 성능을 최적화하고 다양한 기능을 활성화하는 데 사용됩니다. 주요 설정 항목은 메모리 버퍼 크기, 캐시 설정, 연결 타임아웃 등이 있습니다.

3️⃣ MariaDB 초기 설정 및 보안 강화 (mysql_secure_installation)

MariaDB를 설치한 후, 보안을 강화하기 위한 초기 설정을 진행하는 것이 좋습니다. mysql_secure_installation 명령어를 통해 보안 설정을 할 수 있습니다.

mysql_secure_installation 명령어 실행

sudo mysql_secure_installation
  1. 루트 비밀번호 설정:
    MariaDB의 루트 계정에 강력한 비밀번호를 설정합니다.

  2. 익명 사용자 제거:
    익명 사용자 계정을 삭제하여 보안을 강화합니다.

  3. 루트 계정 원격 접속 차단:
    루트 계정의 원격 접속을 차단하여 보안을 강화할 수 있습니다.

  4. 테스트 데이터베이스 삭제:
    기본적으로 MariaDB에는 테스트 데이터베이스가 생성됩니다. 이를 삭제하여 보안을 높입니다.

  5. 데이터베이스 권한 테이블 다시 로드:
    설정 변경 사항을 적용하기 위해 권한 테이블을 다시 로드합니다.

4️⃣ MariaDB 서비스 관리 (systemctl start mariadb, systemctl status mariadb)

MariaDB 서비스를 관리하는 기본 명령어는 systemctl을 사용하여 실행할 수 있습니다. 시스템의 상태를 확인하고, 서비스를 시작, 중지, 재시작하는 등의 작업을 할 수 있습니다.

MariaDB 서비스 시작

sudo systemctl start mariadb

MariaDB 서비스 상태 확인

sudo systemctl status mariadb

이 명령어는 MariaDB 서비스의 현재 상태를 확인할 수 있습니다. 서비스가 정상적으로 실행 중이라면, 활성 상태(active)로 표시됩니다.

MariaDB 서비스 자동 시작 설정

MariaDB 서비스를 부팅 시 자동으로 시작되도록 설정할 수 있습니다.

sudo systemctl enable mariadb

MariaDB 서비스 중지

sudo systemctl stop mariadb

5️⃣ MariaDB 기본 설정 파일 (my.cnf) 최적화

MariaDB의 설정 파일인 my.cnf를 통해 다양한 성능 최적화를 할 수 있습니다. 예를 들어, 메모리 할당, 캐시 설정, 쿼리 성능 등을 조정할 수 있습니다.

my.cnf 파일 위치

  • Linux: /etc/my.cnf 또는 /etc/mysql/my.cnf
  • Windows: C:\Program Files\MariaDB 10.x\data\my.ini

성능 최적화 예시

  1. 버퍼 풀 크기 증가: MariaDB의 데이터베이스 처리 성능을 향상시키기 위해 InnoDB 버퍼 풀 크기를 증가시킬 수 있습니다.

    [mysqld]
    innodb_buffer_pool_size = 1G
  2. 쿼리 캐시 활성화: 자주 실행되는 쿼리의 성능을 높이기 위해 쿼리 캐시를 활성화할 수 있습니다.

    query_cache_type = 1
    query_cache_size = 64M
  3. 동시 연결 수 조정: 많은 사용자와의 연결을 처리하기 위해 최대 연결 수를 늘릴 수 있습니다.

    max_connections = 500
  4. 파일 크기 설정: MariaDB의 데이터베이스 파일 크기를 설정하여, 대규모 데이터베이스에서의 성능을 최적화할 수 있습니다.

    innodb_data_file_path = ibdata1:10M:autoextend
RSS Feed
마지막 수정일자