-
Notifications
You must be signed in to change notification settings - Fork 28
MariaDB 10.1 to 10.3 upgrade
Been Kyung-yoon edited this page Dec 23, 2020
·
6 revisions
운영중인 상태에서 기존 데이터를 유지하면서 업그레이드가 가능합니다. (단 만약의 경우를 대비 디비 백업은 별도로 진행해주세요)
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)
현재까진 기존 데이터로 잘 업그레이드되며 특이사항이 없었습니다.
원인은 /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 파일에서 선언