programing

도커 컨테이너로 실행 중인 MariaDB 업그레이드 방법

bestcode 2022. 11. 18. 21:38
반응형

도커 컨테이너로 실행 중인 MariaDB 업그레이드 방법

도커 컨테이너에서 MariaDB 10.1을 실행하고 있는데 10.2로 업그레이드하고 싶습니다.데이터는 /var/lib/mysql이 매핑된 볼륨, my.cnf가 매핑되지 않고 변경되지 않은 볼륨에 유지됩니다.데이터를 그대로 두고 Maria 10.2 컨테이너를 사용하기 위한 올바른 절차는 무엇입니까?

제가 검토하는 절차는 다음과 같습니다.

  1. 10.1 컨테이너를 정지합니다.
  2. 데이터 볼륨 복제
  3. 데이터 디렉토리를 복제된 볼륨에 매핑하여 새 10.3 컨테이너를 만듭니다.
  4. 새 컨테이너 시작

여기서 저의 고민은 3단계입니다.'표준'(도커 이외) 업그레이드 중에 업그레이드 프로세스에서 데이터 디렉토리가 변경되지 않을 수 있습니까?이 경우 업그레이드 중에 /var/lib/mysql 디렉토리를 변경해야 하는 볼륨은 외부 도커로 변경되지 않습니다.

제 절차가 맞습니까?내 우려가 정당한가요?

MariaDB 매뉴얼은 10.1~> 10.2 매뉴얼에서 업그레이드되어 있으므로 참고하시기 바랍니다.

대부분의 경우 패키지 업그레이드에 관한 것이지만 옵션인 경우 주의사항이 있습니다.SET GLOBAL innodb_fast_shutdown=0mysql_upgrade로 종료합니다.

도커 볼륨 검사는 마운트 지점을 살펴보고 데이터 복사본을 가져오는 것이 좋습니다. 특히 최근 백업이 없거나 빠른 복원 비즈니스 요건이 있는 경우(단, 백업에서 복원 및 인플레이스 업그레이드 절차를 사용하여 최신 버전을 테스트해야 합니다.

없는 임플레이스 업그레이드SET GLOBAL innodb_fast_shutdown=0를 셧다운하기 전에 innodb가 복구를 시작하고 redo 로그를 datadir에 적용합니다.이것이 이전에 하던 것과 다른 무언가를 할 수 있다는 위험은 거의 없습니다.

새 컨테이너가 시작되면 데이터가 존재하는지 테스트할 수 있습니다.준비가 되면mysql_upgrade(평소라면,docker exec -i {container} mysql_upgrade신뢰할 수 있는 방법을 생각해 보면, 이것은 자동화되어 있을 것입니다(gh#350, MDEV-25670).

Monty가 말한 것처럼 "이전 버전의 MariaDB에서 최신 버전으로 업그레이드 할 수 있을 것" (또는 중간 버전)그래서 10.1 -> 10.2로 업그레이드하고 최종적으로 10.3으로 업그레이드 할 필요가 있다고 생각하지 마세요.

언급URL : https://stackoverflow.com/questions/68308764/how-to-upgrade-mariadb-running-as-a-docker-container

반응형