MariaDB 설치 및 관리(MySQL)

1. ubuntu에 설치할 수 있는 데이터베이스 패키지

  1. MySQL: 유명한 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
  2. PostgreSQL: 강력한 오픈 소스 RDBMS로, 많은 기능과 확장성을 제공합니다.
  3. MongoDB: 문서 지향 NoSQL 데이터베이스입니다.
  4. SQLite: 경량의 오픈 소스 관계형 데이터베이스 엔진으로, 임베디드 시스템 및 작은 규모의 응용 프로그램에 적합합니다.
  5. Redis: 고성능 키-값 저장소로, 메모리 기반 데이터 구조 서버입니다.
  6. MariaDB: MySQL의 포크 버전으로, 호환성을 유지하면서 개선된 성능과 안정성을 제공합니다.

2. MariaDB 이해

MariaDB는 MySQL의 포크로 시작된 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. MySQL과 완전히 호환되며, 사용자들은 기존의 MySQL 환경에서 MariaDB로 쉽게 마이그레이션할 수 있습니다. MariaDB는 많은 리눅스 배포판에서 기본적인 RDBMS로 사용되고 있습니다.

1) MariaDB 특징

  • 성능: MariaDB는 대용량 데이터 처리에 뛰어난 성능을 제공합니다. 쿼리 최적화, 인덱싱 기능, 병렬 처리 등의 최적화 작업으로 성능 향상이 이루어졌습니다.
  • 확장성: MariaDB는 데이터베이스 서버를 수평 및 수직으로 확장할 수 있습니다. 마스터-슬레이브 복제 및 클러스터링과 같은 다양한 방식으로 확장성을 구현할 수 있습니다.
  • 보안: MariaDB는 데이터베이스 보안에 큰 중점을 두고 있습니다. SSL/TLS 암호화, 액세스 제어, 데이터 마스킹 등의 기능을 제공하여 데이터의 안전성을 보장합니다.
  • 개방성: MariaDB는 오픈 소스로 개발되었으며, 사용자들은 소스 코드에 접근하여 수정하고 개선할 수 있습니다. 또한 다양한 플러그인과 확장 기능을 제공하여 사용자의 요구에 맞게 커스터마이징할 수 있습니다.

2) MariaDB 장점

  • MariaDB는 MySQL과 완전히 호환되므로, 기존의 MySQL 사용자들은 쉽게 마이그레이션할 수 있습니다.
  • MariaDB는 최적화된 쿼리 처리 및 인덱싱 기능으로 빠른 성능을 제공합니다.
  • MariaDB는 데이터베이스 서버를 유연하게 확장할 수 있습니다.
  • MariaDB는 많은 리눅스 배포판에서 안정적으로 사용되고 있으며, 오류 복구 및 내결함성을 위한 기능을 제공합니다.

3) MariaDB 단점

  • MySQL에 비해 상대적으로 작은 커뮤니티를 가지고 있기 때문에, 문제 해결과 지원을 받기가 어려울 수 있습니다.
  • MariaDB는 MySQL과 호환되지만 일부 특정 기능에서 차이가 발생할 수 있으며, 이로 인해 일부 애플리케이션들이 제대로 동작하지 않을 수 있습니다.

3. MariaDB 설치

1) MariaDB 사전 준비

ubuntu의 패키지를 업데이트 및 업그레이드를 진행합니다.

sudo apt update
sudo apt upgrade

2) MariaDB 설치

sudo apt install mariadb-server

2) MariaDB 서비스 확인

설치가 완료되면 MariaDB 서비스가 자동으로 시작됩니다. 서비스 상태를 확인하려면 다음 명령을 실행합니다:

sudo systemctl status mariadb

3) MariaDB 보안 스크립트 실행

MariaDB를 보다 쉽게 구성하기 위해 다음 명령을 실행하여 보안 스크립트를 실행합니다:

  • Enter current password for root : 초기 설치시에는 패스워드가 없기에 enter를 실행합니다
  • Change the root password : Y를 입력하고 패스워드를 설정합니다.
  • Remove anonymou user: 익명 사용자를 제거하려면 Y를 입력합니다.
  • Disallow root login remotely: 원격 로그인을 활성화 하려면 Y, 비활성화 하려면 N를 입력합니다.
  • Remove test database and access to it: test 데이터베이스를 삭제하려면 Y를 입력합니다.
  • Reload privilege tables now: 변경 사항을 저장하려면 Y를 입력합니다.
sudo mysql_secure_installation

이제 MySQL 서버의 보안 설정이 완료되었습니다.

Thinknote