본문 바로가기

IT 라이프

MySQL 마이너 버전 업그레이드 방법 (5.7버전, 수작업 기준)

반응형

 온라인이 아닌 오프라인 환경이나, 기타 특별한 이유로 인해 yum 등의 패키지 관리 툴을 사용할 수 없을 때 MySQL 버전을 수작업으로 업그레이드하려면 아래와 같이 진행을 하면 됩니다.

개요

In-Place Upgrade (교체식 업그레이드) 방식으로 진행

MySQL 공식 사이트의 원문을 참고하려면 아래 링크를 참고하세요.

https://dev.mysql.com/doc/refman/5.7/en/upgrade-binary-package.html

 

MySQL :: MySQL 5.7 Reference Manual :: 2.11.4 Upgrading MySQL Binary or Package-based Installations on Unix/Linux

2.11.4 Upgrading MySQL Binary or Package-based Installations on Unix/Linux This section describes how to upgrade MySQL binary and package-based installations on Unix/Linux. In-place and logical upgrade methods are described. An in-place upgrade involves s

dev.mysql.com

업그레이드 순서

1. (Inno DB XA 트랜잭션을 사용할 경우) 커밋되지 않은 트랜잭션을 체크하기 위해 XA RECOVER 실행

=> (정리할 트랜잭션이 있는 경우) XA COMMIT 또는 XA ROLLABCK 을 실행하여 트랜잭션 정리

 

2. 슬로우 셧다운을 위해 innodb_fast_shutdown을 0으로 설정

mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"

 

3. 이전 버전의 MySQL 서버를 다운시킨다.

mysqladmin -u root -p shutdown

 

4. 업그레이드할 버전의 MySQL을 설치한다.

Installing MySQL on Unix/Linux Using Generic Binaries

https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html#binary-installation-unpack

 

5. 설치된 MySQL 5.7 서버를 실행한다.datadir 옵션의 값은 기존 MySQL 서버에서 사용하던 데이터 디렉토리 패스를 넣는다.

mysqld_safe --user=mysql --datadir=/path/to/existing-datadir &

 

6. mysql_upgrade를 실행한다.mysql_upgrade는 모든 데이터베이스 및 모든 테이블이 현재 버전의 MySQL 서버와 호환되지 않는 부분이 없는지를 검사하고, mysql 시스템 데이터베이스를 업그레이드합니다.

mysql_upgrade -u root -p

 

7. MySQL 서버를 재시작합니다.

mysqladmin -u root -p shutdown mysqld_safe --user=mysql --datadir=/path/to/existing-datadir &

참고

기동 작업 등을 할 때 기존 my.cnf 설정파일을 사전에 확인하도록 합니다.

/etc/my.cnf

 

MySQL 백업 방법

업그레이드를 수행하기 전에 SQL 포맷 덤프 파일 생성 방법은 아래와 같습니다.

기본적으로 mysqldump는 표준 출력으로 덤프파일을 생성합니다.

mysqldump [arguments] > file_name

모든 데이터베이스의 덤프를 생성하기 위해서는 아래와 같이 --all-databases 옵션을 사용하면 됩니다.

mysqldump --all-databases > dump.sql

 

반응형