MySQL 가동 중지 시간을 최소화하면서 수많은 패키지를 업데이트하는 좋은 방법

MySQL 가동 중지 시간을 최소화하면서 수많은 패키지를 업데이트하는 좋은 방법

다음 명령을 실행하면:

apt list --upgradable

업그레이드해야 할 패키지가 많이 있습니다:

Listing... Done
grub-common/bionic-updates 2.02-2ubuntu8.23 amd64 [upgradable from: 2.02-2ubuntu8.21]
grub-pc/bionic-updates 2.02-2ubuntu8.23 amd64 [upgradable from: 2.02-2ubuntu8.21]
grub-pc-bin/bionic-updates 2.02-2ubuntu8.23 amd64 [upgradable from: 2.02-2ubuntu8.21]
grub2-common/bionic-updates 2.02-2ubuntu8.23 amd64 [upgradable from: 2.02-2ubuntu8.21]
initramfs-tools/bionic-updates,bionic-updates 0.130ubuntu3.12 all [upgradable from: 0.130ubuntu3.11]
initramfs-tools-bin/bionic-updates 0.130ubuntu3.12 amd64 [upgradable from: 0.130ubuntu3.11]
initramfs-tools-core/bionic-updates,bionic-updates 0.130ubuntu3.12 all [upgradable from: 0.130ubuntu3.11]
intel-microcode/bionic-updates,bionic-security 3.20210216.0ubuntu0.18.04.1 amd64 [upgradable from: 3.20201110.0ubuntu0.18.04.2]
libmysqlclient20/bionic-updates,bionic-security 5.7.34-0ubuntu0.18.04.1 amd64 [upgradable from: 5.7.33-0ubuntu0.18.04.1]
libnss-systemd/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]
libpam-systemd/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]
libsystemd0/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]
libudev1/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]
linux-generic/bionic-updates,bionic-security 4.15.0.143.130 amd64 [upgradable from: 4.15.0.142.129]
linux-headers-generic/bionic-updates,bionic-security 4.15.0.143.130 amd64 [upgradable from: 4.15.0.142.129]
linux-image-generic/bionic-updates,bionic-security 4.15.0.143.130 amd64 [upgradable from: 4.15.0.142.129]
linux-libc-dev/bionic-updates,bionic-security 4.15.0-143.147 amd64 [upgradable from: 4.15.0-142.146]
mysql-client-5.7/bionic-updates,bionic-security 5.7.34-0ubuntu0.18.04.1 amd64 [upgradable from: 5.7.33-0ubuntu0.18.04.1]
mysql-client-core-5.7/bionic-updates,bionic-security 5.7.34-0ubuntu0.18.04.1 amd64 [upgradable from: 5.7.33-0ubuntu0.18.04.1]
mysql-server/bionic-updates,bionic-updates,bionic-security,bionic-security 5.7.34-0ubuntu0.18.04.1 all [upgradable from: 5.7.33-0ubuntu0.18.04.1]
mysql-server-5.7/bionic-updates,bionic-security 5.7.34-0ubuntu0.18.04.1 amd64 [upgradable from: 5.7.33-0ubuntu0.18.04.1]
mysql-server-core-5.7/bionic-updates,bionic-security 5.7.34-0ubuntu0.18.04.1 amd64 [upgradable from: 5.7.33-0ubuntu0.18.04.1]
systemd/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]
systemd-sysv/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]
ubuntu-advantage-tools/bionic-updates 27.0.2~18.04.1 all [upgradable from: 17]
udev/bionic-updates 237-3ubuntu10.47 amd64 [upgradable from: 237-3ubuntu10.46]

이전에는 를 사용하여 모든 패키지를 업그레이드할 때 apt upgradeMySQL이 다운되는 것을 확인했으며 MySQL이 재부팅되기 전에 모든 패키지가 업그레이드될 때까지 기다려야 했습니다. 이 작업은 몇 분 정도 걸리며 MySQL이 재부팅될 때까지 기다리는 동안 이 서버의 모든 웹사이트가 다운됩니다.

그렇다면 서버의 모든 패키지를 업그레이드하는 동안 MySQL 가동 중지 시간을 어떻게 최소화할 수 있습니까?

예를 들어, 다음 명령을 사용하여 MySQL 패키지만 업그레이드하려고 합니다.

apt --only-upgrade install mysql-client-5.7
apt --only-upgrade install mysql-client-core-5.7
apt --only-upgrade install mysql-server
apt --only-upgrade install mysql-server-5.7
apt --only-upgrade install mysql-server-core-5.7

그런 다음 MySQL 패키지가 업그레이드되면 간단한 apt upgrade명령으로 다른 모든 패키지를 업그레이드하십시오.

이것이 MySQL 가동 중지 시간을 최소화하는 좋은 접근 방식입니까?

답변1

일반적으로 데이터베이스 엔진 전용 프로덕션 서버로 수행하는 작업은 hold개발 및/또는 준비 환경에서 업데이트를 테스트할 충분한 시간이 있을 때까지 업데이트를 방지하는 패키지입니다.

다음과 같이 이를 수행할 수 있습니다 apt.

sudo apt-mark hold {package}

이렇게 하면 잠재적으로 데이터베이스의 내용을 손상시키지 않고 시스템에 대한 다른 모든 업데이트를 설치할 수 있습니다. MySQL을 업데이트할 준비가 되면 다음과 같이 보류를 제거할 수 있습니다.

sudo apt-mark unhold {package}

이 방법의 좋은 점은 매주 서버에 업데이트와 보안 패치를 적용할 수 있고, 데이터베이스 업데이트는 분기마다 예정된 유지 관리 기간에만 수행된다는 점입니다. (물론 정말 중요한 것을 밀어내야 하는 경우는 제외됩니다.)

관련 정보