다음 명령을 실행하면:
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 upgrade
MySQL이 다운되는 것을 확인했으며 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}
이 방법의 좋은 점은 매주 서버에 업데이트와 보안 패치를 적용할 수 있고, 데이터베이스 업데이트는 분기마다 예정된 유지 관리 기간에만 수행된다는 점입니다. (물론 정말 중요한 것을 밀어내야 하는 경우는 제외됩니다.)