리눅스 서버에서 MariaDB 설치 및 설정하는 방법
MariaDB는 MySQL의 오픈소스 대체제로, 빠르고 안정적인 성능을 자랑하는 관계형 데이터베이스 관리 시스템입니다. 이 가이드는 리눅스 서버에 MariaDB를 설치하고 기본적인 설정을 완료하는 방법을 설명합니다.
1. 설치 전 준비사항
MariaDB는 여러 리눅스 배포판에서 쉽게 설치할 수 있으며, 이 가이드는 Ubuntu/Debian 계열과 CentOS/RHEL 계열을 기준으로 작성되었습니다.
1.1. 시스템 업데이트
설치 전에 시스템 패키지를 최신 버전으로 업데이트하는 것이 중요합니다. 이를 통해 안정적이고 최적화된 설치 환경을 확보할 수 있습니다.
- Ubuntu/Debian 계열:
-
sudo apt update && sudo apt upgrade -y
-
- CentOS/RHEL 계열:
-
sudo yum update -y
-
2. MariaDB 설치
MariaDB는 각 리눅스 배포판의 패키지 관리자에서 제공되므로 간단히 설치할 수 있습니다.
2.1. Ubuntu/Debian 계열에서 MariaDB 설치
- MariaDB 설치:
sudo apt install mariadb-server -y
- 설치 확인: 설치가 완료되면 MariaDB 버전을 확인하여 설치가 잘 되었는지 확인합니다.
mysql --version
2.2. CentOS/RHEL 계열에서 MariaDB 설치
- MariaDB 설치: CentOS나 RHEL에서는 MariaDB를 설치하려면 yum 명령어를 사용합니다.
sudo yum install mariadb-server mariadb -y
- 설치 확인: MariaDB가 정상적으로 설치되었는지 확인하려면 다음 명령어로 버전을 확인합니다.
mysql --version
3. MariaDB 서비스 시작 및 자동 시작 설정
설치 후 MariaDB 서비스를 시작하고, 서버가 부팅될 때 자동으로 실행되도록 설정합니다.
3.1. MariaDB 서비스 시작
- Ubuntu/Debian 계열:
-
sudo systemctl start mariadb
-
- CentOS/RHEL 계열:
-
sudo systemctl start mariadb
-
3.2. 자동 시작 설정
시스템 부팅 시 MariaDB가 자동으로 시작되도록 설정합니다.
- Ubuntu/Debian 계열:
-
sudo systemctl enable mariadb
-
- CentOS/RHEL 계열:
-
sudo systemctl enable mariadb
-
4. MariaDB 보안 설정
MariaDB는 기본 설치 후 보안을 강화하기 위해 몇 가지 설정을 해야 합니다. 이를 위해 MariaDB는 mysql_secure_installation 스크립트를 제공합니다.
- 보안 설정 스크립트 실행:
sudo mysql_secure_installation
- 설정 내용:
- 루트 비밀번호 설정: MariaDB의 루트 계정 비밀번호를 설정합니다.
- 익명 사용자 제거: MariaDB에서 기본적으로 생성된 익명 사용자 계정을 제거합니다.
- 루트 계정의 원격 접속 제한: 루트 계정이 원격에서 접속하지 못하도록 설정합니다.
- 테스트 데이터베이스 삭제: 기본적으로 설치되는 테스트 데이터베이스를 삭제합니다.
이 과정을 완료하면 MariaDB의 기본 보안 설정이 강화됩니다.
5. MariaDB 로그인
설치가 완료된 후, MariaDB에 로그인하여 SQL 명령어를 실행할 수 있습니다.
- MariaDB 로그인: 기본적으로 root 사용자로 로그인합니다.
sudo mysql -u root -p
- SQL 명령어 실행: MariaDB에 로그인한 후 SQL 명령어를 입력할 수 있습니다. 예를 들어, 새로운 데이터베이스를 생성하려면 다음과 같이 입력합니다:생성된 데이터베이스를 사용하려면:
USE my_database;CREATE DATABASE my_database;
6. MariaDB 원격 접속 설정 (선택 사항)
기본적으로 MariaDB는 로컬에서만 접속을 허용합니다. 원격에서 접속하려면 설정 파일을 수정하여 원격 접속을 허용해야 합니다.
- 설정 파일 수정: MariaDB의 설정 파일을 편집합니다. 파일 위치는 배포판에 따라 다를 수 있습니다.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
- bind-address 변경: bind-address 항목을 0.0.0.0으로 변경하여 모든 IP에서 접속을 허용합니다.
bind-address = 0.0.0.0
- MariaDB 재시작: 설정을 변경한 후 MariaDB 서비스를 재시작합니다.
- sudo systemctl restart mariadb
- 원격 접속 사용자 생성: 원격 접속을 허용할 사용자를 생성하고 권한을 부여합니다. 예를 들어, my_database라는 데이터베이스에 대한 원격 접속을 허용하려면 다음과 같이 입력합니다
GRANT ALL PRIVILEGES ON my_database.* TO 'username'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;이 명령은 username이라는 사용자가 모든 IP에서 my_database에 접속할 수 있도록 허용합니다.
7. 성능 최적화 (선택 사항)
MariaDB의 성능을 최적화하려면, 데이터베이스와 시스템에 맞는 설정을 적용해야 합니다. my.cnf 파일에서 메모리 설정을 조정할 수 있습니다.
- 설정 파일 위치: MariaDB의 설정 파일은 일반적으로 /etc/mysql/my.cnf 또는 /etc/my.cnf에 위치합니다. 해당 파일을 열어 성능 관련 설정을 조정할 수 있습니다.
- 설정 항목 예시:
- innodb_buffer_pool_size: InnoDB 버퍼 풀 크기
- query_cache_size: 쿼리 캐시 크기
- max_connections: 최대 연결 수
- 설정 반영: 설정을 수정한 후 MariaDB를 재시작하여 변경 사항을 반영합니다.
sudo systemctl restart mariadb
8. 결론
MariaDB는 안정적이고 빠른 성능을 제공하는 관계형 데이터베이스 관리 시스템입니다. 이 가이드를 통해 MariaDB를 리눅스 서버에 쉽게 설치하고 기본적인 보안 및 성능 설정을 완료할 수 있습니다. 또한, 원격 접속을 설정하여 외부에서 MariaDB에 접속할 수 있는 방법도 안내드렸습니다. MariaDB의 강력한 기능을 활용하여 효율적인 데이터베이스 관리 시스템을 구축해보세요.