도커 컨테이너로 실행 중인 MariaDB 업그레이드 방법
도커 컨테이너에서 MariaDB 10.1을 실행하고 있는데 10.2로 업그레이드하고 싶습니다.데이터는 /var/lib/mysql이 매핑된 볼륨, my.cnf가 매핑되지 않고 변경되지 않은 볼륨에 유지됩니다.데이터를 그대로 두고 Maria 10.2 컨테이너를 사용하기 위한 올바른 절차는 무엇입니까?
제가 검토하는 절차는 다음과 같습니다.
- 10.1 컨테이너를 정지합니다.
- 데이터 볼륨 복제
- 데이터 디렉토리를 복제된 볼륨에 매핑하여 새 10.3 컨테이너를 만듭니다.
- 새 컨테이너 시작
여기서 저의 고민은 3단계입니다.'표준'(도커 이외) 업그레이드 중에 업그레이드 프로세스에서 데이터 디렉토리가 변경되지 않을 수 있습니까?이 경우 업그레이드 중에 /var/lib/mysql 디렉토리를 변경해야 하는 볼륨은 외부 도커로 변경되지 않습니다.
제 절차가 맞습니까?내 우려가 정당한가요?
MariaDB 매뉴얼은 10.1~> 10.2 매뉴얼에서 업그레이드되어 있으므로 참고하시기 바랍니다.
대부분의 경우 패키지 업그레이드에 관한 것이지만 옵션인 경우 주의사항이 있습니다.SET GLOBAL innodb_fast_shutdown=0
mysql_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
'programing' 카테고리의 다른 글
부하가 높은 사이트에서 PHP를 사용하기 위한 전술 (0) | 2022.11.18 |
---|---|
휴지 상태 1:1 양방향 매핑 실패 - 무효화된 엔티티 필드 (0) | 2022.11.18 |
mysql에서 글로벌 sql_mode 설정 (0) | 2022.11.18 |
함수를 가변 길이 인수로 래핑하려면 어떻게 해야 합니까? (0) | 2022.11.18 |
인코딩을 사용해야 합니까?URI 또는 인코딩URL 인코딩을 위한 URIC 구성 요소 (0) | 2022.11.18 |