목차
우분투에서 MariaDB 설치하기
원래 글은 Ubuntu 14.04 LTS와 MariaDB 10.1을 설치하던 2016년의 기록이었다. 당시의
trusty저장소, KAIST 미러 주소,apt-key명령은 현재 설치 명령으로 사용하지 않는다. 아래 절차는 Ubuntu 24.04 LTS의 Ubuntu 패키지 저장소를 기준으로 새로 정리했다. 다른 릴리스나 MariaDB 자체 저장소를 사용하는 서버는 해당 배포판과 제품의 공식 설치 문서를 확인한다.
Ubuntu 24.04 LTS의 mariadb-server 패키지는 MariaDB 10.11 계열이다. 패키지의 세부 수정 버전은 업데이트와 아키텍처에 따라 달라질 수 있으므로 설치 전에 apt-cache policy로 확인한다. Ubuntu 패키지 목록에서 해당 릴리스의 패키지를 조회할 수 있다.
flowchart LR A[OS 버전 확인] --> B[Ubuntu 저장소 후보 확인] B --> C[MariaDB 설치] C --> D[서비스·버전 확인] D --> E[로컬 관리자 접속] E --> F[계정 및 보안 설정 검토]
그림처럼 먼저 어디에서 패키지를 가져올지 확인한다. 과거 미러가 남아 있다면 새 저장소를 무작정 더하지 말고 기존 설정을 정리해야 한다.
1. 운영체제와 패키지 후보 확인
cat /etc/os-release
sudo apt update
apt-cache policy mariadb-server
VERSION_ID="24.04"인지 확인하고, apt-cache policy의 설치 후보가 Ubuntu 24.04 저장소에서 오는지 확인한다. 다른 릴리스에서 이 명령을 그대로 실행하면 패키지 버전과 설정 위치가 달라질 수 있다. Ubuntu 14.04의 일반 보안 유지 기간은 이미 종료되었으므로, 그 서버라면 먼저 운영체제 업그레이드와 데이터 이전을 계획한다. Ubuntu 릴리스 주기에 지원 기간이 정리되어 있다.
2. 설치와 서비스 확인
sudo apt install mariadb-server
sudo systemctl status mariadb --no-pager
mariadb --version
설치가 끝나면 로컬에서 다음처럼 접속해 서버 버전을 확인한다.
sudo mariadb
SELECT VERSION();
Ubuntu 패키지의 최근 MariaDB는 로컬 root에 Unix 소켓 인증을 사용하는 경우가 일반적이다. sudo mariadb가 되는 환경에서 무조건 데이터베이스 root 비밀번호를 새로 만들 필요는 없다. 접속 방법은 현재 계정 설정에 따라 확인한다. MariaDB 문서는 10.4 이후의 인증 방식을 설명한다.
3. 초기 보안 설정 검토
MariaDB의 mariadb-secure-installation은 익명 사용자, 테스트 데이터베이스, 원격 root 로그인 등의 항목을 점검하는 도구다. 설치 버전과 배포판 설정에 따라 이미 안전하게 구성된 항목도 있으므로, 프롬프트를 읽고 필요한 변경만 적용한다.
sudo mariadb-secure-installation
설치 직후부터 외부에서 접속해야 하는 것은 아니다. 애플리케이션이 같은 서버에 있다면 로컬 소켓 접속을 유지한다. 다른 서버에서 접속해야 한다면 별도 애플리케이션 계정과 제한된 네트워크 규칙을 만들고, MariaDB 원격 계정 접속 관리의 절차를 따른다. 데이터베이스 root를 원격에 개방하지 않는다.
설치 오류가 나면
| 증상 | 확인할 지점 |
|---|---|
apt update에서 404 | 오류를 낸 저장소의 릴리스 이름과 URL. 오래된 trusty나 별도 MariaDB 미러 항목이 남아 있는지 확인 |
| 서명 키 오류 | 어느 저장소의 서명인지 확인. 무관한 키를 전역 신뢰 저장소에 추가하지 않음 |
mariadb-server 후보 없음 | 현재 Ubuntu 릴리스, 활성화한 공식 저장소, apt-cache policy 결과 |
| MySQL과 패키지 충돌 | 기존 데이터·설정·백업을 먼저 확인하고 마이그레이션 계획 수립 |
| 서비스 시작 실패 | sudo systemctl status mariadb --no-pager, sudo journalctl -u mariadb -b --no-pager |
과거의 apt-key adv --keyserver ... 방식은 Ubuntu 문서에서 사용 중단 대상으로 표시된다. 키 오류를 해결하려고 출처가 불분명한 키를 가져오거나, 404가 난 낡은 미러를 다시 추가하지 않는다. 특정 MariaDB 버전이 꼭 필요하면 MariaDB의 Debian/Ubuntu 패키지 안내에서 지원 중인 릴리스와 저장소 설정 방법을 확인한다.
패키지 충돌 때문에 mysql*을 일괄 삭제하는 명령은 사용하지 않는다. 기존 MySQL 서버가 있다면 백업, 애플리케이션 호환성, 다운타임, 복구 절차를 확인한 다음 별도의 전환 계획으로 다룬다.