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/