MariaDB 설치 - WHATDO-TEAM/whatdo GitHub Wiki

Ubuntu 22.04에서 MariaDB 10.11.10 설치 및 기본 설정

MariaDB 10.11.10 버전을 Ubuntu 22.04에서 설치하는 방법을 안내해 드리겠습니다. 이 설치 방법은 MariaDB 공식 저장소를 추가하고, 최신 LTS 버전 바로 이전 LTS(Long term support)버전을 설치하는 방식입니다.

  • 공식 한국미러 사이트가 없어 일본 미러 사이트로 설정하였습니다.

MariaDB 10.11.10 설치 방법 (Ubuntu 22.04 기준)

Step 1. MariaDB 저장소 추가

MariaDB 10.11.10 버전은 Ubuntu 22.04의 기본 저장소에는 포함되지 않으므로 MariaDB 공식 저장소를 추가해야 합니다.

MariaDB 저장소 키 추가

1. MariaDB GPG 키를 새로운 디렉터리에 다운로드 및 저장

  • MariaDB GPG 키를 /usr/share/keyrings 디렉터리에 저장합니다.
curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc | sudo gpg --dearmor -o /usr/share/keyrings/mariadb-keyring.gpg

2. MariaDB 저장소 추가 (GPG 키 경로 포함)

  • /usr/share/keyrings/mariadb-keyring.gpg 파일을 참조하는 방식으로 저장소를 추가합니다.
  • GPG 키 파일 경로를 포함하여 MariaDB 저장소 추가
echo 'deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/mariadb-keyring.gpg] https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.11/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/mariadb.list

3. 패키지 목록 업데이트

  • 새로운 저장소 설정에 따라 패키지 목록을 업데이트합니다.
sudo apt update

Step 2. MariaDB 설치

  • MariaDB 10.11.10 서버 설치
sudo apt install mariadb-server -y

Step 3. MariaDB 서비스 시작 및 부팅 시 자동 시작 설정

MariaDB 설치가 완료되면 MariaDB 서비스를 시작하고, 시스템 부팅 시 자동으로 시작되도록 설정합니다.

  • MariaDB 서비스 시작
sudo systemctl start mariadb
  • MariaDB 부팅 시 자동 시작 설정
sudo systemctl enable mariadb

MariaDB 초기 설정 (보안 설정)

MariaDB 설치 후 기본 보안 설정을 통해 불필요한 기능을 비활성화하고 root 비밀번호를 설정합니다.

  • 보안 설정 스크립트 실행
sudo mysql_secure_installation

보안 설정을 진행하면서 다음과 같은 항목들이 나타납니다. 보통 각 항목에 대해 "Y"를 선택하는 것이 일반적입니다:

  • 루트 비밀번호 설정: MariaDB root 사용자의 비밀번호 설정.
  • 익명 사용자 제거: 외부에서 익명 사용자가 MariaDB에 접속하지 못하도록 제한.
  • 루트 사용자 원격 접속 차단: root 사용자가 로컬에서만 접속할 수 있도록 설정.
  • 테스트 데이터베이스 삭제: 기본 테스트 데이터베이스와 접근 권한을 제거하여 보안 강화.
  • 권한 테이블 다시 로드: 변경 사항을 즉시 반영.
보안관련 선택 사항 설명
  1. Switch to unix_socket authentication [Y/n]: Y 선택
  • 설명: unix_socket 인증을 활성화하여 로컬 운영체제 계정 인증을 통해 MariaDB root 계정에 접근할 수 있게 했습니다.
  • 의미: 이 설정을 활성화하면 MariaDB root 사용자에게 추가적인 비밀번호가 필요하지 않습니다. 대신 운영체제의 root 사용자로 로그인된 상태에서 sudo mysql 또는 mysql -u root 명령어로 비밀번호 없이 접근할 수 있습니다.
  • 장점: unix_socket 인증은 로컬에서만 접근을 허용하고 운영체제 계정 기반 인증을 요구하므로 보안이 강화됩니다.
  1. Change the root password? [Y/n]: n 선택
  • 설명: root 계정의 비밀번호를 변경할지 묻는 질문에서 n을 선택하여 비밀번호 변경을 건너뛰었습니다.
  • 의미: unix_socket 인증이 활성화되었으므로 로컬 사용자는 운영체제 자격으로 MariaDB root 계정에 접근할 수 있습니다. 이미 비밀번호로 보호된 상태라 비밀번호 변경을 선택하지 않아도 됩니다.
  1. Remove anonymous users? [Y/n]: Y 선택
  • 설명: MariaDB에는 익명 사용자가 기본으로 추가되어 있는데, 이를 삭제할지 묻는 질문에서 Y를 선택했습니다.
  • 의미: 익명 사용자는 별도 계정 없이 MariaDB에 접근할 수 있는 사용자로, 테스트 환경을 위해 기본 제공됩니다. 하지만 보안 강화를 위해 프로덕션 환경에서는 삭제하는 것이 좋습니다.
  1. Disallow root login remotely? [Y/n]: Y 선택
  • 설명: root 사용자의 원격 접속을 비활성화할지 묻는 질문에 Y를 선택했습니다.
  • 의미: MariaDB root 계정에 대한 원격 접근을 차단함으로써 네트워크를 통한 보안 위험을 줄일 수 있습니다. 이제 root 사용자는 로컬에서만 접근이 가능하므로 보안이 더욱 강화됩니다.
  1. Remove test database and access to it? [Y/n]: Y 선택
  • 설명: 기본으로 제공되는 test 데이터베이스와 그에 대한 접근 권한을 제거할지 묻는 질문에 Y를 선택했습니다.
  • 의미: test 데이터베이스는 누구나 접근할 수 있으며 주로 테스트 목적으로 제공됩니다. 프로덕션 환경에서는 불필요한 데이터베이스이므로 삭제하여 보안을 강화할 수 있습니다.
  1. Reload privilege tables now? [Y/n]: Y 선택
  • 설명: 지금까지 변경한 사항을 적용하기 위해 권한 테이블을 다시 로드할지 묻는 질문에 Y를 선택했습니다.
  • 의미: 설정한 보안 옵션이 즉시 반영되도록 권한 테이블을 갱신하여, MariaDB가 모든 변경 사항을 인식하고 적용할 수 있게 합니다.

MariaDB 접속 및 테스트

보안 설정이 완료되면 MariaDB에 접속하여 설치가 제대로 되었는지 확인합니다.

  • MariaDB 접속
  • 비밀번호를 입력하여 접속
sudo mysql -u root -p

접속 후 다음 SQL 명령어로 MariaDB가 정상 작동하는지 테스트합니다.

-- 버전 확인
SELECT VERSION();

-- 데이터베이스 목록 확인
SHOW DATABASES;

image


MariaDB 기본 설정 (my.cnf)

MariaDB의 주요 설정 파일은 **/etc/mysql/mariadb.conf.d/50-server.cnf**에 위치합니다. 필요한 설정을 간단히 추가하여 MariaDB를 최적화할 수 있습니다.

예제 설정

다음은 일반적으로 사용하는 기본 설정 예시입니다.

[mysqld]
# 포트 설정
port = 3306

# 최대 접속 수
max_connections = 150

# 기본 문자셋 설정
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

# 쿼리 로그 설정
general_log = ON
general_log_file = /var/log/mysql/query.log

설정을 변경한 후에는 MariaDB 서비스를 재시작하여 변경 사항을 적용합니다.

# MariaDB 재시작
sudo systemctl restart mariadb

이제 Ubuntu 22.04에서 MariaDB 10.11.10 설치와 기본 설정이 완료되었습니다.

⚠️ **GitHub.com Fallback** ⚠️