Skip to content

MariaDB 10.1 to 10.3 upgrade

Been Kyung-yoon edited this page Dec 23, 2020 · 6 revisions

MariaDB 10.1 -> 10.3 upgrade

운영중인 상태에서 기존 데이터를 유지하면서 업그레이드가 가능합니다. (단 만약의 경우를 대비 디비 백업은 별도로 진행해주세요)

10.1 에서 10.3 으로 yum 저장소가 바뀌었고, 업데이트시 충돌이 발생하므로 10.1 을 삭제하고 10.3 을 신규 설치해야 합니다.

  • 기존 MariaDB 10.1 삭제 (/var/lib/mysql 데이터 디렉토리는 유지됩니다.)
# postfix 까지 지워지므로 yum 대신 rpm 의존성 생략 옵션으로 삭제해야 함.
#yum erase MariaDB-server MariaDB-client MariaDB-common MariaDB-compat
rpm -e --nodeps MariaDB-server MariaDB-client MariaDB-common MariaDB-compat MariaDB-shared

# 설치된 MariaDB 패키지 목록이 없어야 합니다.   컴파일 등을 위해 MariaDB-devel 등 추가 패키지가 있다면 삭제해주세요.
rpm -qa|grep -i mariadb
  • MariaDB 저장소를 10.1 에서 10.3 으로 수정
sed -i 's/10.1/10.3/g' /etc/yum.repos.d/MariaDB.repo
yum clean all
  • 신규 MariaDB 10.3 설치
yum install MariaDB-server MariaDB-client MariaDB-common MariaDB-compat MariaDB-shared
  • 10.3 에서 호환되지 않는 설정 파일은 사용되지 않도록, 파일명 변경
# [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_additional_mem_pool_size=16M'
# sed -i 's/innodb_additional_mem_pool_size/#innodb_additional_mem_pool_size/g' /etc/my.cnf.d/my-innodb-heavy-4G.cnf  

cd /etc/my.cnf.d
mv my-innodb-heavy-4G.cnf my-innodb-heavy-4G.cnf.notuse

/etc/my.cnf.d/z-php79.cnf 파일을 열어, my-innodb-heavy-4G.cnf 에서 중요한 설정만 서버 환경에 맞게 재선언

[mysqld]
server-id = 1
log-bin=mysql-bin
  • MariaDB 10.3 부팅시 자동 시작, 서비스 시작, 상태 확인
systemctl enable mariadb
systemctl start mariadb && systemctl status mariadb
  • MariaDB 데이터 업그레이드 진행
mysql_upgrade
  • MariaDB 최종 재시작 및 상태 확인
systemctl restart mariadb && systemctl status mariadb

   Active: active (running)

현재까진 기존 데이터로 잘 업그레이드되며 특이사항이 없었습니다.


에러

Replication 사용시 slave 에서 데이터를 가져오지 못하는 문제 발생

원인은 /etc/my.cnf.d/my-innodb-heavy-4G.cnf 파일의 innodb_thread_concurrency = 16 설정 때문이므로, 기존 버전의 설정을 사용하지 않도록 파일명뒤에 .notuse 를 덧 붙임.

cd /etc/my.cnf.d
mv my-innodb-heavy-4G.cnf my-innodb-heavy-4G.cnf.notuse

log-bin=mysql-bin 항목 등은 필요시 z-php79.conf 파일에서 선언

Clone this wiki locally