서버 운영/APM 서버 구축

MariaDB 업그레이드 1

씨실과 날실 2018. 11. 16. 10: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 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:


[관련 웹문서]

https://mariadb.com/kb/en/authentication-plugin-unix-socket/#unix_socket



APT 패키지 관리자를 통한 MariaDB 설치

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

MariaDB 업그레이드 후 기존 DB 업그레이드

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

APT 패키지 관리자를 통한 MariaDB 업그레이드

Upgrading from MariaDB 10.2 to MariaDB 10.3

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

Upgrading from MariaDB 10.3 to MariaDB 10.4

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

[관련 링크]

https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/
https://mariadb.com/kb/en/library/upgrading-from-mariadb-103-to-mariadb-104/#how-to-upgrade

안녕하세요. 씨실과 날실입니다.

지난 포스트에서는 우분투 저장소를 통해서 MariaDB를 설치했습니다. 그러나 이곳을 통해 설치한 MariaDB는 최신 버전이 아닙니다. 그러므로 그것을 최신 버전으로 업그레이드하는 과정을 알아보도록 하겠습니다.

먼저 현재 설치된 MariaDB의 버전을 확인해봅시다.

study@study-VirtualBox:~$ mysql -V

2018년 11월 6일 현재  우분투 저장소 카카오 미러에서 설치되는 MariaDB의 버전은 10.1.34-MariaDB입니다. 그러나 동일 날짜 MariaDB의 최신 버전은 10.3.10입니다. 설치된 버전을 최신버전으로 업그레이드해봅시다.

업그레이드 사전 준비

먼저 MariaDB에 root 계정으로 접속합니다.

study@study-VirtualBox:~$ sudo mysql -u root -p

그후 다음 명령을 입력해줍니다.

MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>  

이것은 innodb_fast_shutdown 을 0으로 설정하는 것입니다. 이것을 해주지 않으면 업그레이드가 중단될 수 있습니다.

MariaDB를 빠져나와 터미널에서 다음과 같은 명령을 입력하여 데이터베이스를 백업해줍니다.

study@study-VirtualBox:~$ sudo mysqldump -u root -p database_name > backup_database.sql
위는 예시로,  database_name 부분을 자신이 백업하고자 하는 DB명으로 수정해주면 됩니다.

백업된 DB 파일은 내폴더 안에 저장됩니다.

이제 실행 중인 MariaDB를 다음의 명령으로 중지합니다.

study@study-VirtualBox:~$ sudo systemctl stop mariadb.service
다음 명령으로 MariaDB 패키지를 제거해줍니다.

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

이제 MariaDB와 관련한 의존성이 존재하는 패키지와 기타 이제는 쓰이지 않는 패키지를 자동으로 제거합시다.

study@study-VirtualBox:~$ sudo apt autoremove

이제 최신버전으로 업그레이드하려면 MariaDB 저장소를 우분투에 추가해주어야 합니다. 이 저장소는 개발사의 사정으로 인해 바뀔 수 있으므로 설치시 공식 사이트에서 확인해주어야 합니다. MariaDB 저장소 확인 경로는 다음과 같습니다.

MariaDB 공식 사이트(https://mariadb.org/) -

 ↓

 ↓

 ↓

1. Choose a Distro(Ubuntu)

↓ 

2. Choose a Release (18.04 LTS "bionic")


3. Choose a Version (10.3 [Stable])

(https://downloads.mariadb.org/mariadb/repositories/#mirror=harukasan&distro=Ubuntu&distro_release=bionic--ubuntu_bionic&version=10.3)

위 안내를 확인하시고 그대로 적용하시면 됩니다.

2018년 11월 6일 현재 적용 방법은 다음과 같습니다.

가장 먼저 다음의 명령을 입력함으로써 software-properties-common 패키지를 설치해줍니다.

study@study-VirtualBox:~$ sudo apt-get install software-properties-common
그러면 다음과 같은 안내가 뜹니다.

[sudo] study의 암호: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
패키지 software-properties-common는 이미 최신 버전입니다 (0.96.24.32.5).
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  galera-3 libaio1 libconfig-inifiles-perl libdbd-mysql-perl libdbi-perl
  libjemalloc1 libmysqlclient20 libreadline5 libterm-readkey-perl
  mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common
  mariadb-server-10.1 mariadb-server-core-10.1 mysql-common socat
Use 'sudo apt autoremove' to remove them.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
study@study-VirtualBox:~$

왜냐하면 이미 우분투 저장소를 통해 설치되어 있기 때문입니다.

위 패키지는 MariaDB를 설치할 때 반드시 필요한 패키지로, 혹여 이 패키지가 설치되어 있지 않을 때를 대비해 입력하는 명령어입니다. 따라서 위와 같은 안내가 뜨는 경우 신경쓰지 말고 다음 단계로 넘어가면 됩니다.

study@study-VirtualBox:~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

위 명령으로 서명키를 등록해줍니다.

study@study-VirtualBox:~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
[sudo] study의 암호: 
Executing: /tmp/apt-key-gpghome.v4oKwM9M2y/gpg.1.sh --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
gpg: key F1656F24C74CD1D8: 5 signatures not checked due to missing keys
gpg: key F1656F24C74CD1D8: public key "MariaDB Signing Key " imported
gpg: Total number processed: 1
gpg:               imported: 1
study@study-VirtualBox:~$ 

그럼 위와 같은 과정을 거치게 됩니다.

이제 최신버전 저장소를 우분투 저장소 목록에 추가해줍니다.

study@study-VirtualBox:~$ sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://ftp.harukasan.org/mariadb/repo/10.3/ubuntu bionic main'

그러면 자동으로 우분투 저장소 패키지 목록이 업데이트됩니다. 만약 우분투 버전이 18.04 보다 오래된 것이라면 자동으로 업데이트되지 않습니다.

study@study-VirtualBox:~$ sudo apt update

그러므로 위와 같이 업데이트 명령을 실행해줍니다.

이제 MariaDB를 우분투 저장소에서 설치해주면 됩니다.

study@study-VirtualBox:~$ sudo apt install mariadb-server
그러면 다음과 같은 안내가 나오게 됩니다.
study@study-VirtualBox:~$ sudo apt install mariadb-server
[sudo] study의 암호: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libconfig-inifiles-perl libjemalloc1
Use 'sudo apt autoremove' to remove them.
다음의 추가 패키지가 설치될 것입니다 :
  mariadb-client-10.3 mariadb-client-core-10.3 mariadb-common
  mariadb-server-10.3 mariadb-server-core-10.3
제안하는 패키지:
  mailx mariadb-test tinyca
다음 패키지를 지울 것입니다:
  mariadb-client-10.1 mariadb-client-core-10.1 mariadb-server-10.1
  mariadb-server-core-10.1
다음 새 패키지를 설치할 것입니다:
  mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server
  mariadb-server-10.3 mariadb-server-core-10.3
다음 패키지를 업그레이드할 것입니다:
  mariadb-common
1개 업그레이드, 5개 새로 설치, 4개 제거 및 2개 업그레이드 안 함.
12.0 M바이트 아카이브를 받아야 합니다.
이 작업 후 33.6 M바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까? [Y/n] 

y를 눌러 설치를 진행해줍니다.


새 암호를 설정해줍니다.


새 암호를 다시 한번 입력하여 확인해줍니다.


그럼 설치가 완료가 됩니다. 이제 버전을 확인해봅시다.

study@study-VirtualBox:~$ mysql -V

다음과 같이 나오면 일단 최신버전이 설치된 것입니다.

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

이제 기존 DB를 업그레이드해주어야 합니다.

study@study-VirtualBox:~$ sudo mysql_upgrade --user=root --password

그런데 오류를 뿜어댑니다.

이 오류는 빈번히 접할 수 있고 설명할 내용이 많아 따로 다음 글에 이어 적도록 하겠습니다.