서버 운영/APM 서버 구축

우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.5 설치

씨실과 날실 2020. 9. 18. 09:00

[관련 게시물]

Ubuntu 20.04 LTS에서 APM 설치

2020/09/14 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 아파치(Apache2 설치

2020/09/16 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.3 설치

2020/09/18 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.5 설치

2020/09/20 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - PHP 7.4 설치

2020/09/22 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - APM 설치 후 방화벽 설정

2020/09/24 - [서버 운영/APM 서버 구축] - MariaDB 10.4 이후의 계정 인증 관련 변화(unix_socket, mysql_native_password 인증 / 계정, 암호 및 전역 권한 정보 저장 테이블 변경 등)

2020/09/26 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 기본 환경 파일 설정 - apache2.conf 기본 설정

2020/09/28 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 기본 환경 파일 설정 - php.ini 기본 설정

 

Ubuntu 20.04에서 설치한 Apache2 서버 주요 설정 파일 원문

2020/09/30 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 목록

2020/10/05 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 원문 - Apache2

2020/10/07 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 원문 - PHP 7.4 - php.ini

 

Ubuntu 20.04에서 설치한 Apache2 서버 주요 설정 파일 내 지시어 설명

2020/10/09 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] apache2.conf의 기본값에 사용된 지시어 설명

2020/10/11 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] ports.conf 의 기본값에 사용된 지시어 설명

2020/10/13 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] envvars의 기본값에 사용된 지시어 설명

2020/10/15 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] security.conf의 기본값에 사용된 지시어 설명

2020/10/17 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] 000-default.conf의 기본값에 사용된 지시어 설명

2020/10/19 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] default-ssl.conf의 기본값에 사용된 지시어 설명

 

Ubuntu 20.04에서 phpMyAdmin 설치 및 설정

2021.02.20 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 01 - 저장소 설치

2021.03.15 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 02 - Apache 서버 관리자를 위한수동 설치(버전 5.1.0 기준)

2021.03.17 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 03 - 보안강화 작업

2021.03.19 - [서버 운영/APM 서버 구축] - phpMyAdmin 설치 04 - 웹호스팅 사용자를 위한 수동 설치(버전 5.1.0 기준)

2021.03.21 - [서버 운영/APM 서버 구축] - phpMyAdmin 설치 05 - setup 페이지를 통한 구성 파일 생성

 

Ubuntu 18.04 LTS에서 APM 설치

2018/11/09 - [서버 운영/APM 서버 구축] - Apache 서버 설치

2018/11/14 - [서버 운영/APM 서버 구축] - MariaDB 설치

2018/11/16 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 1

2018/11/16 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 2 - ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded

2018/11/16 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 3

2018/11/19 - [서버 운영/APM 서버 구축] - PHP7 설치

2018/11/21 - [서버 운영/APM 서버 구축] - 서버 환경 파일 수정 - php.ini, apache2.conf

 

Ubuntu 18.04 LTS에서 MariaDB 백업 및 업그레이드

2019/01/15 - [서버 운영/APM 서버 구축] - MariaDB & MySQL 백업과 복원 - Nextcloud 14

2019/06/27 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 (Upgrading from MariaDB 10.3 to MariaDB 10.4)

 

Ubuntu 18.04 LTS에서 PHP 버전 전환

2019/07/05 - [서버 운영/APM 서버 구축] - Apache와 Shell에서 PHP 버전 전환하기(How to Switch between Multiple PHP Version)

 

Ubuntu 18.04 LTS에서 phpmyadmin 설치 및 운용

2018/11/23 - [서버 운영/APM 서버 구축] - phpmyadmin 설치 - APT 패키지 관리자를 통한 설치

2019/06/18 - [서버 운영/APM 서버 구축] - APT 패키지 관리자를 통해 설치한 phpMyAdmin 업그레이드 방법(업그레이드 버전 4.9.0.1)

2019/07/01 - [서버 운영/APM 서버 구축] - phpMyAdmin 수동 설치 01 - 일반 설치

2019/07/03 - [서버 운영/APM 서버 구축] - phpMyAdmin 수동 설치 02 - 심볼릭 링크를 이용한 보안 접속

2019/06/16 - [서버 운영/APM 서버 구축] - phpMyAdmin 4.6.6deb5와 PHP 7.2 간 호환성 문제 해결 - Warning in ./libraries/sql.lib.php#613

 

XAMPP 설치 및 운용

2019/04/20 - [서버 운영/서버 구축 꾸러미] - XAMPP에 대하여(버전 7.1.28 / 7.2.17 / 7.3.4)

2019/04/22 - [서버 운영/서버 구축 꾸러미] - XAMPP for Windows 7.3.4 인스톨러 설치

2019/04/25 - [서버 운영/서버 구축 꾸러미] - XAMPP for Windows 설정

2019/06/03 - [서버 운영/서버 구축 꾸러미] - XAMPP 포터블(portable) 사용법

2019/06/05 - [서버 운영/서버 구축 꾸러미] - XAMPP for Linux 4.3.5 설치 및 사용법

 

서버 운영을 위한 관련 연재글

2018/11/07 - [리눅스/Ubuntu] - 방화벽 설정 - ufw

2018/11/12 - [서버 운영/버추얼박스(VirtualBox)] - 가상머신(Virtualbox) 내 서버 외부접속

2019/01/05 - [미디어위키/미디어위키 설치 및 관리] - 호스트 컴퓨터에서 가상머신 내 미디어위키 접속 및 작업을 위한 버추얼박스 포트포워딩 설정

2019/03/15 - [서버 운영/APM 서버 구축] - PHP 7.3으로의 업그레이드 및 사용 연기 권장 안내 - PHP Notice: compact(): Undefined variable:

2018년 11월에 우분투 18.04 LTS에서 주 저장소를 통해 아파치 서버(Apache2)를 설치하는 방법을 시작으로 APM(Apache2 Server, PHP7, MariaDB)을 구축하는 방법에 대해 글을 올린 적이 있습니다.

설치 방법은 이전과 크게 달라지지 않았지만 이번에는 단순히 설치를 하고 바로 운용하기 위한 최소한의 설명을 적었던 그전과는 달리 생략된 일부 진행 과정과 초보자들을 위한 유익한 정보도 담았으며 설치 직후의 설정 내용은 한데 모아 따로 적었습니다.

 

지난 시간에는 우분투 20.04의 주 업데이트 저장소에서 제공하는 MariaDB 10.3을 설치하는 방법에 대해 간략하게 알아보았습니다.

그러나 MariaDB 재단에서 공개한 최신 안정 버전은 10.5입니다. MariaDB 10.5의 경우 안정버전이 2020년 6월에 공개되어 2025년 6월까지 유지보수를 지원합니다. 따라서 장기간의 안정적인 유지보수를 감안한다면 10.5를 운용하는 것이 좋을 것입니다.

당 블로그에서도 추후 우분투 서버 관련 연재는 아래와 같은 작업 환경을 바탕으로 진행할 것입니다.

문구

[작업환경]

Apache2 : Apache/2.4.41 (Ubuntu)

PHP7 : PHP 7.4.3 (cli)

MariaDB : mariadb  Ver 15.1 Distrib 10.5.5-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

phpMyAdmin : 설치 전

만약 MariaDB 10.3을 설치하고자 하시는 분들은 아래 링크의 글을 참고하시기 바랍니다.

10.3을 설치하더라도 MariaDB 설치와 관련하여 이 글이 보다 상세하게 서술되어 있으므로 이 글도 참고하시기를 권장합니다.

 

만약 제 블로그 글을 따라오시면서 APM 서버를 구축하시는 경우 phpMyAdmin은 아직 설치하기 전입니다.

phpMyAdmin 설치 정보가 필요하신 분들은 아래 링크를 참고하시기 바랍니다.

 


 

시스템 내 패키지 최신 버전으로 업그레이드 - 패키지 설치 전 필수 작업

study@study-VirtualBox:~$ sudo apt update

등록된 저장소 내 패키지 정보를 최신으로 업데이트해줍니다.

 

study@study-VirtualBox:~$ apt list --upgradable

업그레이드가 가능한 패키지 목록을 확인합니다.

 

study@study-VirtualBox:~$ sudo apt upgrade

최신으로 업데이트된 저장소 내 패키지 정보를 바탕으로 시스템에 설치된 패키지들을 최신으로 업그레이드해줍니다.

 

study@study-VirtualBox:~$ sudo apt autoremove

패키지 업그레이드를 마친 후 불필요해진 패키지를 자동으로 삭제해줍니다.

 

이글에서는 우분투의 apt 명령어를 사용해 패키지를 업그레이드하는 방법만 보였지만 어떤 리눅스 배포판을 사용하든 간에 새로운 패키지를 설치하기 전에 시스템 내의 패키지들을 전체적으로 업그레이드하여 최신으로 유지해주는 것이 좋습니다.

실제로 각종 패키지의 공식 설치 설명서에서도 최소한 (sudo) apt update와 (sudo) apt upgrade 이 두 명령어가 작업 순서의 맨 처음에 나오는 것을 볼 수 있습니다.

설사 따로 설명이 없더라도 위 작업은 수행되었음을 전제로 진행됩니다.

 

MariaDB 10.5 설치

우분투의 주 업데이트 저장소에는 MariaDB 10.3이 올라가 있습니다.

해당 버전의 설치 방법은 아래 링크를 참고하시기 바랍니다.

 

그러나 현재 MariaDB의 최신 안정 버전은 10.5입니다. 만약 다수를 상대로 호스팅 서비스를 제공하거나 중형 이상의 커뮤니티를 운영하는 경우라면 유지보수 측면에서 볼 때 안정화가 견고하게 이루어지고 문제해결 정보가 더 많이 풀려 있을 10.3 버전을 추천드립니다.

그러나 단순히 소규모 친목 모임을 위한 사이트를 운영하거나 서버를 공부하는 수준이라면 최신 안정 버전인 MariaDB 10.5를 설치하여 구축하는 것도 나쁘지 않는 선택이 될 것입니다.

 

MariaDB를 설치하는 다양한 방법이 있습니다만 시스템 관리자 입장에서 가장 간편하고 관리하기 쉬운 방법이 바로 저장소를 통한 설치입니다. 그런데 우분투 20.04에서 MariaDB의 최신 안정 버전 10.5를 설치하기 위해서는 외부 저장소를 등록, 활성화하여 해당 저장소를 통해 설치해주어야 합니다.

 

외부 저장소를 통한 Maria DB 설치는 위 링크에서 다룬 바가 있습니다만 MariaDB 커뮤니티 재단 사이트(https://mariadb.org)가 개편되면서 저장소 미러 관련 명령어 확인 방법이 다소 달라졌습니다.

MariaDB 커뮤니티 사이트(https://mariadb.org)

Download

MariaDB Repositories

위와 같은 메뉴 순서대로 들어가면MariaDB 패키지 파일을 직접 내려받아 이용하거나, 아니면 하단부에 있는  MariaDB의 저장소 구성 도구(Repository Configuration tool)를 이용할 수 있습니다.

개인적으로 추후 관리를 위해 저장소 등록을 통한 설치를 권장합니다.

MariaDB 저장소를 확인할 수 있는 다른 주소

위 글에서 사용한 MariaDB 저장소 설정 페이지 또한 현재 그대로 살아 있어 아무런 문제 없이 이용할 수 있습니다.

그러나 기존 연재에서 사용한 이 주소는 언제든지 사라질 수 있음을 감안해야 합니다.  

 

MariaDB 저장소 구성 도구(MariaDB Repository Configuration tool)

자신의 서버 환경에 맞춰 각 항목을 맞춰 주시면 됩니다. 일반적으로 아래와 같이 설정하면 됩니다.

Repository Configuration tool

Choose a distribution

20.04 "focal"

Choose a MariaDB Server version

10.5[Stable]

Mirror

Yongbok.net- South Korea

 

보충 내용

참고로 한국에는 두 곳의 MariaDB 저장소 미러가 존재합니다.

영복 서버 - https://mirror.yongbok.net/mariadb/repo/

하루카상 서버 - http://ftp.harukasan.org/mariadb/repo/

 

이전에는 하루카상 서버와 영복 서버가 공식 미러 저장소로 등록되어 있었지만 무슨 이유에서인지 현재는 영복 서버만 소개하고 있습니다.

 

 

 # MariaDB 10.5 저장소 - 영복 서버 - 추천 미러

    $ sudo apt-get install software-properties-common dirmngr apt-transport-https
    $ sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
    $ sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal main'


# MariaDB 10.5 저장소 - 하루카상 서버

    $ sudo apt-get install software-properties-common
    $ sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
    $ sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://ftp.harukasan.org/mariadb/repo/10.5/ubuntu focal main'   

두 저장소 설정 중 하나를 선택해 실행하면 됩니다. 여기서는 이전 연재에서 사용한 하루카상 서버를 이용했습니다.

영복 서버 명령은 최신 정보이고, 하루카상 명령은 이전 정보입니다.

영복 서버를 이용하시는 것을 권장합니다.

 

study@study-VirtualBox:~$ sudo apt-get install software-properties-common dirmngr apt-transport-https
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
패키지 dirmngr는 이미 최신 버전입니다 (2.2.19-3ubuntu2.1).
dirmngr 패키지는 수동설치로 지정합니다.
패키지 software-properties-common는 이미 최신 버전입니다 (0.98.9.4).
software-properties-common 패키지는 수동설치로 지정합니다.
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  chromium-codecs-ffmpeg-extra ethtool gstreamer1.0-vaapi
  libgstreamer-plugins-bad1.0-0 libmspack0 libva-wayland2 libxmlsec1-openssl
  open-vm-tools zerofree
'sudo apt autoremove'를 이용하여 제거하십시오.
다음 새 패키지를 설치할 것입니다:
  apt-transport-https
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
1,704 바이트 아카이브를 받아야 합니다.
이 작업 후 161 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://mirror.kakao.com/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.5 [1,704 B]
내려받기 1,704 바이트, 소요시간 0초 (49.0 k바이트/초)
Selecting previously unselected package apt-transport-https.
(데이터베이스 읽는중 ...현재 190386개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../apt-transport-https_2.0.5_all.deb ...
Unpacking apt-transport-https (2.0.5) ...
apt-transport-https (2.0.5) 설정하는 중입니다 ...
study@study-VirtualBox:~$ 

일반적으로 software-properties-common 패키지는 우분투를 데스크톱 이미지로 설치하는 경우 기본적으로 설치됩니다. 그러나 만약 사전 설치되어 있지 않다면 설치해주시면 됩니다.

software-properties-common은 apt에서 사용된 저장소(repositories)를 추출할 때 사용되는 패키지입니다.

 

study@study-VirtualBox:~$ sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
Executing: /tmp/apt-key-gpghome.C0C5NqNxXi/gpg.1.sh --fetch-keys https://mariadb.org/mariadb_release_signing_key.asc
gpg: requesting key from 'https://mariadb.org/mariadb_release_signing_key.asc'
gpg: key F1656F24C74CD1D8: public key "MariaDB Signing Key <signing-key@mariadb.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
study@study-VirtualBox:~$ 

위 명령을 실행하여 MariaDB의 키 정보를 키 서버에서 가져와 믿을 수 있는 키 목록에 등록합니다.

apt-key adv --fetch-key 명령은 키 파일을 믿을 수 있는 키 목록에 등록하므로 주의해서 사용해주어야 합니다.

 

study@study-VirtualBox:~$ sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal main'
기존:1 http://mirror.kakao.com/ubuntu focal InRelease
기존:2 http://mirror.kakao.com/ubuntu focal-updates InRelease                  
기존:3 http://mirror.kakao.com/ubuntu focal-backports InRelease                
받기:4 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal InRelease [6,264 B]
기존:5 http://mirror.kakao.com/ubuntu focal-security InRelease                
받기:6 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 Packages [17.2 kB]
받기:7 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main ppc64el Packages [16.4 kB]
받기:8 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main arm64 Packages [16.5 kB]
내려받기 56.4 k바이트, 소요시간 1초 (88.5 k바이트/초)
패키지 목록을 읽는 중입니다... 완료
study@study-VirtualBox:~$ 

위 명령을 실행하여 /etc/apt/sources.list 파일에 해당 저장소를 추가해줍니다.

add-apt-repository의 뒤에 오는 인수로 '    '(따옴표) 사이에 들어간 문자열의 형식은 다음과 같습니다.

# 파일 형식 ∨ [arch=아키텍처 종류] ∨ 저장소 위치(주소) ∨ 릴리스 정보 ∨ 배포 수준
deb [arch=amd64,arm64,ppc64el] https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal main

 

위와 관련하여 보다 자세한 정보는 아래 링크를 참고하시기 바랍니다.

아니면 /etc/apt/sources.list 파일 대신 /etc/apt/sources.list.d 디렉터리 안에 아래 상자의 두 단락 중 하나를 선택해 복사하여 붙인 .list 파일(예를 들어 mariadb.list)을 생성하셔도 됩니다.

# MariaDB 10.5 - yongbok mirror server
# MariaDB 10.5 repository list - created  UTC
# https://mariadb.org/download/
deb [arch=amd64] https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal main
deb-src https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal main

또는

# MariaDB 10.5 - harukasan mirror server
# MariaDB 10.5 [Stable] repository list - created  UTC
# https://mariadb.org/download-test/
deb [arch=amd64] https://ftp.harukasan.org/mariadb/repo/10.5/ubuntu focal main
deb-src https://ftp.harukasan.org/mariadb/repo/10.5/ubuntu focal main

 

study@study-VirtualBox:~$ sudo apt update
기존:1 http://mirror.kakao.com/ubuntu focal InRelease
기존:2 http://mirror.kakao.com/ubuntu focal-updates InRelease                  
기존:3 http://mirror.kakao.com/ubuntu focal-backports InRelease                
기존:4 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal InRelease     
기존:5 http://mirror.kakao.com/ubuntu focal-security InRelease                 
패키지 목록을 읽는 중입니다... 완료     
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
패키지 4이(가) 업그레이드되었습니다. 'apt list --upgradable'를 실행하여 확인해 보십시오.
study@study-VirtualBox:~$ 

MariaDB의 미러 서버 저장소를 등록한 후 다시 한번 활성화된 저장소 패키지 목록을 최신으로 업데이트해줍니다.

분명 새 저장소를 등록하기 전에 패키지를 전체 업그레이드를 했음에도 불구하고 패키지 하나가 업그레이드 가능하다고 나옵니다.

 

study@study-VirtualBox:~$ apt list --upgradable
나열 중... 완료
mariadb-client/알 수 없음,알 수 없음,알 수 없음 1:10.5.9+maria~focal all [다음에서 업그레이드 가능: 1:10.3.25-0ubuntu0.20.04.1]
mariadb-common/알 수 없음,알 수 없음,알 수 없음 1:10.5.9+maria~focal all [다음에서 업그레이드 가능: 1:10.3.25-0ubuntu0.20.04.1]
mariadb-server/알 수 없음,알 수 없음,알 수 없음 1:10.5.9+maria~focal all [다음에서 업그레이드 가능: 1:10.3.25-0ubuntu0.20.04.1]
mysql-common/알 수 없음,알 수 없음,알 수 없음 1:10.5.9+maria~focal all [다음에서 업그레이드 가능: 5.8+1.0.5ubuntu2]
study@study-VirtualBox:~$ 

업그레이드 가능 패키지를 확인해봅시다. 위와 같이 나옵니다.

어차피 주요 패키지 설치 명령을 사용하면 기존 패키지들도 업그레이드되므로 굳이 해당 패키지들만 따로 업그레이드 작업을 해줄 필요는 없습니다.

study@study-VirtualBox:~$ sudo apt upgrade mysql-common
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
업그레이드를 계산하는 중입니다... 완료
다음 패키지를 업그레이드할 것입니다:
  mysql-common
1개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
3,260 바이트 아카이브를 받아야 합니다.
이 작업 후 19.5 k바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까? [Y/n] y
받기:1 https://ftp.harukasan.org/mariadb/repo/10.5/ubuntu focal/main arm64 mysql-common all 1:10.5.5+maria~focal [3,260 B]
내려받기 3,260 바이트, 소요시간 0초 (16.8 k바이트/초)
(데이터베이스 읽는중 ...현재 202581개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../mysql-common_1%3a10.5.5+maria~focal_all.deb ...
Unpacking mysql-common (1:10.5.5+maria~focal) over (5.8+1.0.5ubuntu2) ...
mysql-common (1:10.5.5+maria~focal) 설정하는 중입니다 ...
study@study-VirtualBox:~$ 

만약 하게 되면 이와 유사한 과정을 거치게 됩니다.

패키지를 업그레이드해줍니다.

이것으로 MariaDB 10.5를 설치하기 위한 사전 준비 작업을 끝마쳤습니다. 이제 본격적으로 MariaDB 10.5를 설치해봅시다.

위 예시는 하루카상 미러를 통해 업그레이드했던 과정을 첨부한 것입니다.

 

 

최소 설치

study@study-VirtualBox:~$ sudo apt install mariadb-server

MariaDB를 사용하기 위한 최소한의 설치 명령입니다. 그러면 이것을 사용하기 위한 십 여개의 종속성 패키지도 같이 설치될 것입니다. 그러나 이것은 말 그대로 MariaDB를 사용하기 위한 최소한의 설치 명령입니다.

 

권장 설치

study@study-VirtualBox:~$ sudo apt-get install mariadb-server mariadb-client mariadb-common mariadb-backup libmariadb3 galera-4

일반적으로 위와 같은 패키지들을 같이 설치하며 저 역시 이 추천 설치를 권장해드립니다.

 

study@study-VirtualBox:~$ sudo apt-get install mariadb-server mariadb-client mariadb-common mariadb-backup libmariadb3 galera-4
[sudo] study의 암호: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  chromium-codecs-ffmpeg-extra ethtool gstreamer1.0-vaapi
  libconfig-inifiles-perl libgstreamer-plugins-bad1.0-0 libmspack0
  libva-wayland2 libxmlsec1-openssl open-vm-tools zerofree
'sudo apt autoremove'를 이용하여 제거하십시오.
다음의 추가 패키지가 설치될 것입니다 :
  mariadb-client-10.5 mariadb-client-core-10.5 mariadb-server-10.5
  mariadb-server-core-10.5
제안하는 패키지:
  mailx mariadb-test
다음 패키지를 지울 것입니다:
  galera-3 mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server-10.3
  mariadb-server-core-10.3
다음 새 패키지를 설치할 것입니다:
  galera-4 libmariadb3 mariadb-backup mariadb-client-10.5
  mariadb-client-core-10.5 mariadb-server-10.5 mariadb-server-core-10.5
다음 패키지를 업그레이드할 것입니다:
  mariadb-client mariadb-common mariadb-server
3개 업그레이드, 7개 새로 설치, 5개 제거 및 1개 업그레이드 안 함.
32.2 M바이트 아카이브를 받아야 합니다.
이 작업 후 80.0 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-common all 1:10.5.9+maria~focal [4,428 B]
받기:2 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-server all 1:10.5.9+maria~focal [3,208 B]
받기:3 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 galera-4 amd64 26.4.7-focal [11.8 MB]
받기:4 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-client all 1:10.5.9+maria~focal [3,080 B]
받기:5 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 libmariadb3 amd64 1:10.5.9+maria~focal [147 kB]
받기:6 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-client-core-10.5 amd64 1:10.5.9+maria~focal [774 kB]
받기:7 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-client-10.5 amd64 1:10.5.9+maria~focal [1,549 kB]
받기:8 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-server-core-10.5 amd64 1:10.5.9+maria~focal [6,971 kB]
받기:9 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-server-10.5 amd64 1:10.5.9+maria~focal [4,431 kB]
받기:10 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-backup amd64 1:10.5.9+maria~focal [6,491 kB]
내려받기 32.2 M바이트, 소요시간 3초 (10.4 M바이트/초)
패키지를 미리 설정하는 중입니다...
(데이터베이스 읽는중 ...현재 190390개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../mariadb-common_1%3a10.5.9+maria~focal_all.deb ...
Unpacking mariadb-common (1:10.5.9+maria~focal) over (1:10.3.25-0ubuntu0.20.04.1) ...
Preparing to unpack .../mariadb-server_1%3a10.5.9+maria~focal_all.deb ...
Unpacking mariadb-server (1:10.5.9+maria~focal) over (1:10.3.25-0ubuntu0.20.04.1) ...
(데이터베이스 읽는중 ...현재 190390개의 파일과 디렉터리가 설치되어 있습니다.)
mariadb-server-10.3 (1:10.3.25-0ubuntu0.20.04.1)를 제거합니다...
galera-3 (25.3.29-1)를 제거합니다...
Selecting previously unselected package galera-4.
(데이터베이스 읽는중 ...현재 190265개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../galera-4_26.4.7-focal_amd64.deb ...
Unpacking galera-4 (26.4.7-focal) ...
Preparing to unpack .../mariadb-client_1%3a10.5.9+maria~focal_all.deb ...
Unpacking mariadb-client (1:10.5.9+maria~focal) over (1:10.3.25-0ubuntu0.20.04.1) ...
(데이터베이스 읽는중 ...현재 190273개의 파일과 디렉터리가 설치되어 있습니다.)
mariadb-client-10.3 (1:10.3.25-0ubuntu0.20.04.1)를 제거합니다...
mariadb-client-core-10.3 (1:10.3.25-0ubuntu0.20.04.1)를 제거합니다...
Selecting previously unselected package libmariadb3:amd64.
(데이터베이스 읽는중 ...현재 190223개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../libmariadb3_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking libmariadb3:amd64 (1:10.5.9+maria~focal) ...
Selecting previously unselected package mariadb-client-core-10.5.
Preparing to unpack .../mariadb-client-core-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-client-core-10.5 (1:10.5.9+maria~focal) ...
Selecting previously unselected package mariadb-client-10.5.
Preparing to unpack .../mariadb-client-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-client-10.5 (1:10.5.9+maria~focal) ...
(데이터베이스 읽는중 ...현재 190317개의 파일과 디렉터리가 설치되어 있습니다.)
mariadb-server-core-10.3 (1:10.3.25-0ubuntu0.20.04.1)를 제거합니다...
Selecting previously unselected package mariadb-server-core-10.5.
(데이터베이스 읽는중 ...현재 190216개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../mariadb-server-core-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-server-core-10.5 (1:10.5.9+maria~focal) ...
mariadb-common (1:10.5.9+maria~focal) 설정하는 중입니다 ...
새 버전의 설정 파일 /etc/mysql/mariadb.cnf 설치하는 중입니다 ...
Selecting previously unselected package mariadb-server-10.5.
(데이터베이스 읽는중 ...현재 190320개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../mariadb-server-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
/var/lib/mysql: found previous version 10.3
Unpacking mariadb-server-10.5 (1:10.5.9+maria~focal) ...
Selecting previously unselected package mariadb-backup.
Preparing to unpack .../mariadb-backup_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-backup (1:10.5.9+maria~focal) ...
mariadb-server-core-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
galera-4 (26.4.7-focal) 설정하는 중입니다 ...
libmariadb3:amd64 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-client-core-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-backup (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-client-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
새 버전의 설정 파일 /etc/mysql/mariadb.conf.d/50-client.cnf 설치하는 중입니다 ...
새 버전의 설정 파일 /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf 설치하는 중입니다 ...
mariadb-client (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-server-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
새 버전의 설정 파일 /etc/logrotate.d/mysql-server 설치하는 중입니다 ...
새 버전의 설정 파일 /etc/mysql/debian-start 설치하는 중입니다 ...
새 버전의 설정 파일 /etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf 설치하는 중입니다 ...
새 버전의 설정 파일 /etc/mysql/mariadb.conf.d/50-server.cnf 설치하는 중입니다 ...
mariadb-server (1:10.5.9+maria~focal) 설정하는 중입니다 ...
Processing triggers for systemd (245.4-4ubuntu3.6) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
study@study-VirtualBox:~$ 

위는 우분투 공식 저장소를 통해 MariaDB 10.3을 설치한 상태에서 MariaDB를 설치할 경우의 설치 과정입니다.

 

만약 이전 버전의 MariaDB가 설치되어 있지 않은 상태에서 새로 설치하는 경우 다음과 같이 진행됩니다.

study@study-VirtualBox:~$ sudo apt-get install mariadb-server mariadb-client mariadb-common mariadb-backup libmariadb3 galera-4
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  chromium-codecs-ffmpeg-extra ethtool gstreamer1.0-vaapi
  libgstreamer-plugins-bad1.0-0 libmspack0 libva-wayland2 libxmlsec1-openssl
  open-vm-tools zerofree
'sudo apt autoremove'를 이용하여 제거하십시오.
다음의 추가 패키지가 설치될 것입니다 :
  gawk libaio1 libcgi-fast-perl libcgi-pm-perl libdbd-mariadb-perl libdbi-perl
  libfcgi-perl libhtml-template-perl libreadline5 libsigsegv2
  libterm-readkey-perl mariadb-client-10.5 mariadb-client-core-10.5
  mariadb-server-10.5 mariadb-server-core-10.5 socat
제안하는 패키지:
  gawk-doc libclone-perl libmldbm-perl libnet-daemon-perl
  libsql-statement-perl libipc-sharedcache-perl mailx mariadb-test
다음 새 패키지를 설치할 것입니다:
  galera-4 gawk libaio1 libcgi-fast-perl libcgi-pm-perl libdbd-mariadb-perl
  libdbi-perl libfcgi-perl libhtml-template-perl libmariadb3 libreadline5
  libsigsegv2 libterm-readkey-perl mariadb-backup mariadb-client
  mariadb-client-10.5 mariadb-client-core-10.5 mariadb-common mariadb-server
  mariadb-server-10.5 mariadb-server-core-10.5 socat
0개 업그레이드, 22개 새로 설치, 0개 제거 및 1개 업그레이드 안 함.
34.2 M바이트 아카이브를 받아야 합니다.
이 작업 후 247 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://mirror.kakao.com/ubuntu focal/main amd64 libsigsegv2 amd64 2.12-2 [13.9 kB]
받기:2 http://mirror.kakao.com/ubuntu focal/main amd64 gawk amd64 1:5.0.1+dfsg-1 [418 kB]
받기:3 http://mirror.kakao.com/ubuntu focal/main amd64 libdbi-perl amd64 1.643-1 [730 kB]
받기:4 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main ppc64el mariadb-common all 1:10.5.9+maria~focal [4,428 B]
받기:5 http://mirror.kakao.com/ubuntu focal/main amd64 libreadline5 amd64 5.2+dfsg-3build3 [100 kB]
받기:6 http://mirror.kakao.com/ubuntu focal/main amd64 libaio1 amd64 0.3.112-5 [7,184 B]
받기:7 http://mirror.kakao.com/ubuntu focal/main amd64 socat amd64 1.7.3.3-2 [323 kB]
받기:8 http://mirror.kakao.com/ubuntu focal/main amd64 libcgi-pm-perl all 4.46-1 [186 kB]
받기:9 http://mirror.kakao.com/ubuntu focal/main amd64 libfcgi-perl amd64 0.79-1 [33.1 kB]
받기:10 http://mirror.kakao.com/ubuntu focal/main amd64 libcgi-fast-perl all 1:2.15-1 [10.5 kB]
받기:11 http://mirror.kakao.com/ubuntu focal/universe amd64 libdbd-mariadb-perl amd64 1.11-3ubuntu2 [105 kB]
받기:12 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 galera-4 amd64 26.4.7-focal [11.8 MB]
받기:13 http://mirror.kakao.com/ubuntu focal/main amd64 libhtml-template-perl all 2.97-1 [59.0 kB]
받기:14 http://mirror.kakao.com/ubuntu focal/main amd64 libterm-readkey-perl amd64 2.38-1build1 [24.6 kB]
받기:15 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 libmariadb3 amd64 1:10.5.9+maria~focal [147 kB]
받기:16 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-client-core-10.5 amd64 1:10.5.9+maria~focal [774 kB]
받기:17 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-client-10.5 amd64 1:10.5.9+maria~focal [1,549 kB]
받기:18 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-server-core-10.5 amd64 1:10.5.9+maria~focal [6,971 kB]
받기:19 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-server-10.5 amd64 1:10.5.9+maria~focal [4,431 kB]
받기:20 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main amd64 mariadb-backup amd64 1:10.5.9+maria~focal [6,491 kB]
받기:21 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main ppc64el mariadb-client all 1:10.5.9+maria~focal [3,080 B]
받기:22 https://mirror.yongbok.net/mariadb/repo/10.5/ubuntu focal/main ppc64el mariadb-server all 1:10.5.9+maria~focal [3,208 B]
내려받기 34.2 M바이트, 소요시간 4초 (8,443 k바이트/초)
패키지를 미리 설정하는 중입니다...
Selecting previously unselected package libsigsegv2:amd64.
(데이터베이스 읽는중 ...현재 189630개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../libsigsegv2_2.12-2_amd64.deb ...
Unpacking libsigsegv2:amd64 (2.12-2) ...
libsigsegv2:amd64 (2.12-2) 설정하는 중입니다 ...
Selecting previously unselected package gawk.
(데이터베이스 읽는중 ...현재 189637개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../00-gawk_1%3a5.0.1+dfsg-1_amd64.deb ...
Unpacking gawk (1:5.0.1+dfsg-1) ...
Selecting previously unselected package mariadb-common.
Preparing to unpack .../01-mariadb-common_1%3a10.5.9+maria~focal_all.deb ...
Unpacking mariadb-common (1:10.5.9+maria~focal) ...
Selecting previously unselected package galera-4.
Preparing to unpack .../02-galera-4_26.4.7-focal_amd64.deb ...
Unpacking galera-4 (26.4.7-focal) ...
Selecting previously unselected package libdbi-perl:amd64.
Preparing to unpack .../03-libdbi-perl_1.643-1_amd64.deb ...
Unpacking libdbi-perl:amd64 (1.643-1) ...
Selecting previously unselected package libmariadb3:amd64.
Preparing to unpack .../04-libmariadb3_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking libmariadb3:amd64 (1:10.5.9+maria~focal) ...
Selecting previously unselected package libreadline5:amd64.
Preparing to unpack .../05-libreadline5_5.2+dfsg-3build3_amd64.deb ...
Unpacking libreadline5:amd64 (5.2+dfsg-3build3) ...
Selecting previously unselected package mariadb-client-core-10.5.
Preparing to unpack .../06-mariadb-client-core-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-client-core-10.5 (1:10.5.9+maria~focal) ...
Selecting previously unselected package mariadb-client-10.5.
Preparing to unpack .../07-mariadb-client-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-client-10.5 (1:10.5.9+maria~focal) ...
Selecting previously unselected package libaio1:amd64.
Preparing to unpack .../08-libaio1_0.3.112-5_amd64.deb ...
Unpacking libaio1:amd64 (0.3.112-5) ...
Selecting previously unselected package mariadb-server-core-10.5.
Preparing to unpack .../09-mariadb-server-core-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-server-core-10.5 (1:10.5.9+maria~focal) ...
Selecting previously unselected package socat.
Preparing to unpack .../10-socat_1.7.3.3-2_amd64.deb ...
Unpacking socat (1.7.3.3-2) ...
mariadb-common (1:10.5.9+maria~focal) 설정하는 중입니다 ...
update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mariadb-server-10.5.
(데이터베이스 읽는중 ...현재 190214개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../0-mariadb-server-10.5_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-server-10.5 (1:10.5.9+maria~focal) ...
Selecting previously unselected package libcgi-pm-perl.
Preparing to unpack .../1-libcgi-pm-perl_4.46-1_all.deb ...
Unpacking libcgi-pm-perl (4.46-1) ...
Selecting previously unselected package libfcgi-perl.
Preparing to unpack .../2-libfcgi-perl_0.79-1_amd64.deb ...
Unpacking libfcgi-perl (0.79-1) ...
Selecting previously unselected package libcgi-fast-perl.
Preparing to unpack .../3-libcgi-fast-perl_1%3a2.15-1_all.deb ...
Unpacking libcgi-fast-perl (1:2.15-1) ...
Selecting previously unselected package libdbd-mariadb-perl.
Preparing to unpack .../4-libdbd-mariadb-perl_1.11-3ubuntu2_amd64.deb ...
Unpacking libdbd-mariadb-perl (1.11-3ubuntu2) ...
Selecting previously unselected package libhtml-template-perl.
Preparing to unpack .../5-libhtml-template-perl_2.97-1_all.deb ...
Unpacking libhtml-template-perl (2.97-1) ...
Selecting previously unselected package libterm-readkey-perl.
Preparing to unpack .../6-libterm-readkey-perl_2.38-1build1_amd64.deb ...
Unpacking libterm-readkey-perl (2.38-1build1) ...
Selecting previously unselected package mariadb-backup.
Preparing to unpack .../7-mariadb-backup_1%3a10.5.9+maria~focal_amd64.deb ...
Unpacking mariadb-backup (1:10.5.9+maria~focal) ...
Selecting previously unselected package mariadb-client.
Preparing to unpack .../8-mariadb-client_1%3a10.5.9+maria~focal_all.deb ...
Unpacking mariadb-client (1:10.5.9+maria~focal) ...
Selecting previously unselected package mariadb-server.
Preparing to unpack .../9-mariadb-server_1%3a10.5.9+maria~focal_all.deb ...
Unpacking mariadb-server (1:10.5.9+maria~focal) ...
galera-4 (26.4.7-focal) 설정하는 중입니다 ...
libreadline5:amd64 (5.2+dfsg-3build3) 설정하는 중입니다 ...
gawk (1:5.0.1+dfsg-1) 설정하는 중입니다 ...
libcgi-pm-perl (4.46-1) 설정하는 중입니다 ...
libhtml-template-perl (2.97-1) 설정하는 중입니다 ...
socat (1.7.3.3-2) 설정하는 중입니다 ...
libmariadb3:amd64 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
libfcgi-perl (0.79-1) 설정하는 중입니다 ...
libterm-readkey-perl (2.38-1build1) 설정하는 중입니다 ...
libaio1:amd64 (0.3.112-5) 설정하는 중입니다 ...
libdbi-perl:amd64 (1.643-1) 설정하는 중입니다 ...
mariadb-server-core-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
libcgi-fast-perl (1:2.15-1) 설정하는 중입니다 ...
libdbd-mariadb-perl (1.11-3ubuntu2) 설정하는 중입니다 ...
mariadb-client-core-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-backup (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-client-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-client (1:10.5.9+maria~focal) 설정하는 중입니다 ...
mariadb-server-10.5 (1:10.5.9+maria~focal) 설정하는 중입니다 ...
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service.
mariadb-server (1:10.5.9+maria~focal) 설정하는 중입니다 ...
Processing triggers for systemd (245.4-4ubuntu3.6) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
study@study-VirtualBox:~$ 

 

 

MariaDB 10 버전별 추천 설치 명령어 - Ubuntu

 

MariaDB 10.4 이후

study@study-VirtualBox:~$ sudo apt-get install mariadb-server galera-4 mariadb-client libmariadb3 mariadb-backup mariadb-common

 

MariaDB 10.2~10.3

study@study-VirtualBox:~$ sudo apt-get install mariadb-server galera mariadb-client libmariadb3 mariadb-backup mariadb-common

 

MariaDB 10.1 이전

study@study-VirtualBox:~$ sudo apt-get install mariadb-server galera mariadb-client libmysqlclient18 mariadb-backup mariadb-commo

 

 

study@study-VirtualBox:~$ mariadb -V
mariadb  Ver 15.1 Distrib 10.5.9-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
study@study-VirtualBox:~$

설치 후 위 명령을 통해 MariaDB의 버전을 확인할 수 있습니다.

글 수정 작업 시점으로 10.5.9가 설치됩니다.

 

study@study-VirtualBox:~$ sudo systemctl is-active mariadb
active
study@study-VirtualBox:~$ sudo systemctl is-enabled mariadb
enabled
study@study-VirtualBox:~$ 

먼저 알아본 Apache2와 마찬가지로 MariaDB로 저장소를 통해 설치하는 경우 설치 직후 자동 구동과 시스템 부팅 때마다 MariaDB 자동 구동 활성화가 이루어집니다.

위 명령들은 해당 부분을 확인하는 명령입니다.

 

study@study-VirtualBox:~$ sudo systemctl status mysql

아래는 MariaDB의 구동 상태를 확인하는 위 명령을 실행했을 때 나타나는 출력내용입니다.

● mariadb.service - MariaDB 10.5.9 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor pres>
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Mon 2021-04-19 12:25:23 KST; 4min 8s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 3787 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 3506)
     Memory: 69.2M
     CGroup: /system.slice/mariadb.service
             └─3787 /usr/sbin/mariadbd

 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: mysql
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: performance_s>
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: Phase 6/7: Ch>
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: Processing da>
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: information_s>
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: performance_s>
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: Phase 7/7: Ru>
 4월 19 12:25:28 study-VirtualBox /etc/mysql/debian-start[3806]: OK
lines 1-22

 

 

방화벽 설정

MariaDB 설치 후 방화벽 설정은 위 링크를 참고하시기 바랍니다.

원격 접속을 하지 않는다면 해당 내용은 필요하지 않습니다.

 

MariaDB 설치 직후 보안 설정

 

    $ sudo mysql_secure_installation

또는

    $ sudo mariadb-secure-installation

 

MariaDB는 설치 직후 간편하게 보안설정할 수 있는 바이너리 실행 파일이 존재합니다. 그런데 버전별로 해당 파일의 성격이 다릅니다.

MariaDB 10.4.5 이전

mysql_secure_installation만 존재

MariaDB 10.4.6 ~ 10.5.1

mysql_secure_installation이 실제 실행 가능 바이너리 파일이고, mariadb-secure-installation은 mysql_secure_installation에 대한 심볼릭 링크

MariaDB 10.5.2 이후

mariadb-secure-installation이 실제 실행 가능 바이너리 파일이고, mysql_secure_installation은 mariadb-secure-installation에 대한 심볼릭 링크

 

 

study@study-VirtualBox:~$ sudo mysql_secure_installation
[sudo] study의 암호: 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

가장 먼저 MariaDB의 현재 암호를 묻습니다. 그러나 설치 직후에는 암호가 설정되어 있지 않으므로 엔터키를 눌러 넘어갑니다.

 

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!

MariaDB 10.5부터 새로 도입된 질의로 Unix socket 인증으로의 전환 여부를 묻습니다.

Unix socket 인증 전환을 하더라도 mysql_native_password 인증도 사용할 수 있습니다.

 

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

root 계정의 암호 변경 여부를 묻고, 해당 질의에 y로 답하면 새 암호를 설정합니다. 먼저 새 암호를 입력하고 다음에 동일한 암호를 또 한 번 입력하여 입력된 새 암호가 실수에 의한 잘못된 암호가 아닌지 검증합니다.

 

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

익명 사용자 계정 삭제 여부를 묻습니다.

 

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

root 계정 원격 로그인에 대한 비활성화 여부를 묻습니다.

 

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

테스트 DB와 테스트 DB에 대한 권한을 삭제할지 묻습니다.

 

 

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
study@study-VirtualBox:~$ 

 

기본 보안설정을 마치고 지금 권한 테이블을 다시 읽을지 묻습니다.

 

 

study@study-VirtualBox:~$ sudo mariadb-secure-installation
[sudo] study의 암호: 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
study@study-VirtualBox:~$ 
위는 MariaDB 보안 설정의 전체 과정입니다.
 

MariaDB 버전 확인

study@study-VirtualBox:~$ mariadb -V
mariadb  Ver 15.1 Distrib 10.5.5-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
study@study-VirtualBox:~$ 

 

MariaDB 콘솔 접속

study@study-VirtualBox:~$ sudo mariadb
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 54
Server version: 10.5.9-MariaDB-1:10.5.9+maria~focal mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SELECT VERSION();
+-------------------------------------+
| VERSION()                           |
+-------------------------------------+
| 10.5.9-MariaDB-1:10.5.9+maria~focal |
+-------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> 

 

 

MariaDB 콘솔 관리자(root) 계정 로그인 - 인증

study@study-VirtualBox:~$ sudo mariadb
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 55
Server version: 10.5.9-MariaDB-1:10.5.9+maria~focal mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit;
Bye
study@study-VirtualBox:~$ 

위와 같이 Unix socket 인증을 사용하면 mariadb -u root -p나 mysql -u root -p 명령 대신  sudo mariadb 또는 sudo mysql을 실행하여 MariaDB 콘솔에 접속할 수 있습니다. 즉 번잡하게 계정명과 암호 입력 없이 바로 관리자로 로그인할 수 있습니다.

 

study@study-VirtualBox:~$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.5.9-MariaDB-1:10.5.9+maria~focal mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

위와 같은 명령을 통한 로그인은 Unix socket 인증 방식이 아닌 mysql_native_password 인증 방식을 통한 로그인입니다.

 

MariaDB의 로그인 인증에 대한 보다 자세한 내용은 위 링크를 참고하시기 바랍니다.