본문 바로가기

Cloud/Middleware

[MariaDB] MariaDB/Maxscale 버전 업그레이드

 

테스트 환경에 구성되어 있는

MariaDB와 Maxscale 솔루션의 버전을 업그레이드 하려고 한다.

 

 

MariaDB

MariaDB Corporation에서 제공하는 오픈소스형 DBMS

MySQL 출신 개발자들이 세운 벤더의 데이터베이스 솔루션

 

Community Server(무료), Enterprise Server(유료)로 구분

 

 

Maxscale

MariaDB의 고가용성 및 확장성을 위한 DB Proxy 솔루션

R/W 쿼리 분산처리가 가능한 Load Balancer

 

BSL(Business Source License) 방식으로,

릴리즈 후 4년이 지난 버전만 오픈소스로 사용 가능

 

 

 

 

결론적으론

두 제품 모두 라이센스나 버전에 따라 무료로 사용할 수 있다~

 

 

 

 

[나의 구성 환경]

 

OS Red Hat 7

MariaDB 10.3 → 10.6

Maxscale 2.4 → 2.5

 

 

 

 

 

 

1. MariaDB/Maxscale 설치 파일 준비

 

 

URL : https://mariadb.com/downloads/

 

파일은 MariaDB 공식 홈페이지에서 다운로드 받을 수 있다.

하단 [Show All Files] 메뉴에서 모든 버전 확인 가능

 

 

 

 

 

 

다운로드 받은 10.6 설치 파일을

MariaDB 서버에 업로드 후 사진과 같이 압축 해제한다.

 

 

 

 

 

2. MariaDB 버전 업그레이드

 

 

바이너리 설치 했다면, 환경 변수를 지정해줘야 한다.

 

support-files/mysql.server 파일을

/etc/init.d 아래의 기존 mariadb 기동 파일과 교체해줬다.

 

업그레이드이므로,

'basefir', 'datadir' 경로가 이미 지정되어 있을테니

내용은 동일하게 맞춰주면 된다. (파일 권한은 꼭 챙기기)

 

 

 

 

 

 

※ MariaDB 설정 파일, 구성 정보는 미리 백업 해두기

(ex. my.cnf 파일 → my.cnf.bak 파일)

 

# rpm -Uvh MariaDB-*

 

내 경우는 MariaDB 10.3의 RPM을 업그레이드 하려고 하니

의존된 라이브러리가 필요하다고 해 yum 패키지를 설치했다.

 

# yum install -y MariaDB-*

 

 

 

MariaDB 재시작

# systemctl stop maria

#systemctl start maria

 

 

 

 

 

 

 

MariaDB 접속 후, 버전 확인하면 새로운 버전이 보인다.

 

응?? 벌써 끝이라고?

 

 

ㅋㅋ 사실 이건 껍데기만 바뀐거고 DB 엔진도 업그레이드 해줘야 한다.

 

 

 

 

 

 

 

# /[MariaDB 설치 경로]/bin/mysql_upgrade -uroot -p

 

MariaDB가 실행 중인 상태에서

DB 엔진을 업그레이드 해준 후, 다시 한번 MariaDB 재시작 해주자

 

 

 

 

재시작 이후, 아래 명령어로 점검해주면 된다.

 

# tail -20f /[MariaDB 로그 경로]/maria.err

// MariaDB 서버에서 기동 로그에 특이사항 없는지(Error 문구 등) 확인

 

SQL> show master status;

SQL> show processlist;

// MariaDB 데이터 유입 정상적으로 들어오는지 확인

 

 

 

 

 

 

MariaDB Maxscale 이중화 상태일 경우,

DB의 Master 권한을 넘겨가면서 업그레이드하면 다운타임을 줄일 수 있다.

 

# maxctrl call command mariadbmon switchmon switchover  cluster-monitor DB2 DB1

// DB2 -> DB1 Master 권한 변경. 원복할 땐 뒤의 DB1, DB2 순서를 바꿔주면 된다.

// Slave가 된 MariaDB 작업 시작 !

 

 

 

 

 

 

 

 

3. Maxscale 버전 업그레이드

 

나는 DB Proxy로 사용 중인 Maxscale 버전도 업그레이드 하기로 했다.

 

우선 업그레이드할 Maxscale은 중지 시켜둬야 한다.

내 경우는 클러스터 구조여서, Slave Maxscale 먼저 중지했다.

 

# systemctl stop maxscale  // Slave 서버

# systemctl stop maxscale

 

※ Maxscale도 설정 파일 백업해두기

 

 

 

업그레이드 전에, 기존의 패키지를 삭제해야 한다.

 

# rpm -qa | grep maxscale

// 현재 Maxscale 패키지 정보 확인

# rpm -e maxscale

// 현재 Maxscale 패키지 삭제

 

 

 

이제 1번에서 다운받은 rpm 파일을 서버에서 업그레이드 해준 뒤,

Maxscale 프로세스를 다시 기동해주면 된다.

 

# rpm -Uvh maxscale-2.5.10 . . .

# systemctl start maxscale

 

 

 

 

 

 

이제 아래 명령어로, Maxscale에 정상적으로 세션 유입이 되는지, 버전도 올라갔는지 확인해보면 된다 !

 

# maxctrl list sessions

# maxscale --version

 

 

 

테스트 완료 ~