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

Docker로 설치한 MySQL 업그레이드 완벽 가이드

Docker로 설치된 MySQL을 업그레이드하기 전에, 아래의 사전 준비 단계가 모두 완료되었는지 반드시 확인해야 합니다.

  • MySQL 서버 Docker 이미지를 다운로드했는지 확인합니다.
  • MySQL 서버 인스턴스를 시작할 수 있는지 확인합니다.
  • 컨테이너 내부에서 MySQL 서버 인스턴스에 정상적으로 연결되는지 확인합니다.

MySQL 5.6에서 5.7로 업그레이드하는 절차

다음은 Docker 환경에서 구버전 MySQL(5.6)을 새 버전(5.7)으로 업그레이드하는 단계별 절차입니다.

1단계: 기존 MySQL 서버 중지

아래 명령어를 실행하여 기존 MySQL 5.6 서버를 중지합니다. 여기서 mysql56은 컨테이너 이름입니다.

docker stop mysql56

2단계: 새 이미지 다운로드 및 컨테이너 실행

  • MySQL 5.7 서버 Docker 이미지를 다운로드합니다.
  • 기존 서버의 데이터 디렉터리와 설정 파일을 그대로 사용하여 새로운 MySQL 5.7 Docker 컨테이너를 시작합니다.
  • 필요에 따라 설정을 수정합니다.

MySQL Community Server를 사용하는 경우 아래 명령어를 실행합니다.

docker run --name=mysql57 \
--mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
-d mysql/mysql-server:5.7

필요하다면 mysql/mysql-server 부분을 실제 사용하는 올바른 저장소(repository) 이름으로 조정해야 합니다.

3단계: 서버 시작 상태 확인

새 컨테이너가 모든 시작 작업을 마칠 때까지 기다립니다. 서버의 상태는 docker ps 명령어를 통해 언제든지 확인할 수 있습니다.

4단계: mysql_upgrade 유틸리티 실행

MySQL 5.7 서버 컨테이너 내부에서 mysql_upgrade 유틸리티를 아래 명령어로 실행합니다.

docker exec -it mysql57 mysql_upgrade -uroot -p

명령어 실행 후 프롬프트가 나타나면, 기존 MySQL 5.6 서버에서 사용하던 root 계정의 비밀번호를 입력합니다.

5단계: 업그레이드 완료

마지막으로 아래 명령어를 실행하여 MySQL 5.7 서버 컨테이너를 재시작하면 전체 업그레이드 과정이 완료됩니다.

docker restart mysql57