Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

Unix/Linux에서 바이너리 및 패키지 기반 설치 다운그레이드 방법

Unix 또는 Linux 환경에서 MySQL의 바이너리 및 패키지 기반 설치를 다운그레이드하는 방법을 살펴보겠습니다. 다운그레이드는 여러 가지 방식으로 수행할 수 있으며, 대표적으로 제자리 다운그레이드(In-Place Downgrade)논리적 다운그레이드(Logical Downgrade) 두 가지 방법이 사용됩니다.

제자리 다운그레이드 (In-Place Downgrade)

  • 먼저 새로운 MySQL 버전을 종료합니다.

  • 새 MySQL 바이너리 또는 패키지를 이전 버전의 바이너리 또는 패키지로 교체합니다.

  • 기존 데이터 디렉터리를 그대로 사용하여 이전 MySQL 버전을 다시 시작합니다.

  • 느린 종료(slow shutdown)를 수행하도록 innodb_fast_shutdown 값을 0으로 설정해야 합니다.

아래 명령어로 해당 설정을 적용할 수 있습니다.

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

설정 후에는 아래 명령어로 새 MySQL 서버를 종료합니다.

mysqladmin -u root -p shutdown

느린 종료가 완료되면 데이터 디렉터리에서 InnoDB 리두 로그 파일(ib_logfile* 파일)을 삭제합니다. 이는 릴리스 간 리두 로그 파일 형식의 차이로 인해 발생할 수 있는 다운그레이드 문제를 사전에 방지하기 위한 조치입니다.

논리적 다운그레이드 (Logical Downgrade)

  • mysqldump를 사용하여 새 MySQL 버전의 모든 테이블을 덤프합니다.

  • 생성된 덤프 파일을 이전 MySQL 버전에 로드합니다.

  • 논리적 다운그레이드는 동일한 릴리스 시리즈 내 버전 간 다운그레이드와 직전 릴리스 수준으로의 다운그레이드를 지원합니다.

  • 일반 공급(GA, General Availability) 릴리스 간의 다운그레이드만 지원됩니다.

아래 명령어로 모든 데이터베이스를 덤프할 수 있습니다.

mysqldump -u root -p
    --add-drop-table --routines --events
    --all-databases --force > data-for-downgrade.sql

덤프가 완료되면 아래 명령어로 새 MySQL 서버를 종료합니다.

mysqladmin -u root -p shutdown