Database

Upgrade MariaDB from 10.1 to 10.4 on EC2 Ubuntu 18.04 LTS

flyway를 도입했는데, 기존에 사용하고 있던 mariadb 10.1 버전은 flyway를 사용하기 위해서는 유료 버전을 사용해야했다. 그래서 mariadb를 10.1에서 10.4로 백업 후 업그레이드 하였다.

 

백업 및 업그레이드 스크립트는 다음과 같다.

# 1. 백업할 디렉토리 생성
# 여기서 생성한 디렉토리가 2단계 백업하기의 target-dir이 된다.
cd ~
mkdir data && cd data &&
\ mkdir backup && cd backup &&
\ mkdir preupgrade_backup && cd ~

# 2. 백업하기
# 여기서 user와 password는 본인이 지정해주면 되지만, user의 경우에는 mariadb에 등록된 유저여야한다.
sudo mariabackup --backup \
      --user=root \
      --password=root \
      --target-dir={위에서 생성한 backup dir}

# 1과 동일한 디렉토리를 생성했다면 --target-dir=/home/ubuntu/data/backup/preupgrade_backup 으로 설정하면 된다.

# 3. 백업 prepare
sudo mariabackup --prepare \
      --target-dir=/home/ubuntu/data/backup/preupgrade_backup

# 4. mariadb 실행 중지
sudo systemctl stop mariadb

# 5. mariadb 삭제
sudo apt remove "mariadb-*"

# 6. mariadb community version은 galera라는 패키지에 의존성을 가지므로 함께 지워준다.
# 여기서 mariadb 10.1 의 경우는 galera-3, 그 아래는 galera, 그 위는 galera-4이다.
sudo apt remove galera-3

# 7. 6을 실행하고 나서 아래 명령어를 통해 galera가 조회된다면 해당 버전을 6 명령어를 통해 지우면 된다.
apt list --installed | grep -i -E "mariadb|galera"

# 8. mariadb 10.4 버전 설치 
# 다른 버전을 원하는 경우에는 10.4 대신 다른 버전을 명시하면 된다.
sudo apt install wget

wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

echo "fc84b8954141ed3c59ac7a1adfc8051c93171bae7ba34d7f9aeecd3b148f1527 mariadb_repo_setup" \
    | sha256sum -c -


chmod +x mariadb_repo_setup

sudo ./mariadb_repo_setup \
   --mariadb-server-version="mariadb-10.4"

sudo apt update

sudo apt install mariadb-server mariadb-backup

sudo systemctl start mariadb

# 버전 확인 및 실제 접속해서 데이터가 백업되었는지 확인하기
mariadb -V

sudo mariadb -uroot

 

참고 자료

https://mariadb.com/docs/deploy/upgrade-community-server-cs102-ubuntu18/