Хороший способ обновить множество пакетов с минимальным временем простоя 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 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?

0
задан 19 May 2021 в 20:12

1 ответ

Обычно я делаю с рабочими серверами, выделенными для механизма базы данных, удерживайте пакет, предотвращающий их обновление до тех пор, пока у меня не будет достаточно времени, чтобы протестировать обновление в среде разработки и / или промежуточной среде.

Вы можете сделать это с помощью apt следующим образом:

sudo apt-mark hold {package}

Это позволяет установить все другие обновления для системы, не нарушая при этом что-либо в базе данных. Когда вы будете готовы к обновлению MySQL, вы можете удалить удержание следующим образом:

sudo apt-mark unhold {package}

Что хорошо в этом методе, так это то, что обновления и исправления безопасности могут применяться к серверу еженедельно, в то время как обновления базы данных выполняются только во время плановых окон обслуживания каждый раз. четверть. (Если, конечно, не нужно вытеснять что-то действительно важное).

1
ответ дан 28 July 2021 в 11:38

Другие вопросы по тегам:

Похожие вопросы: