Как обновить MySQL и PostgreSQL в BitrixVM
База обновляется из того же раздела меню, что и PHP, но с важной оговоркой: штатного отката здесь нет.
Путь в меню
Manage servers in the pool → Update PHP, MySQL, PostgreSQL → имя сервера в пуле
Дальше выбирается, что обновлять: Upgrade MySQL version или Upgrade PostgreSQL version.
| База | С какой версии машины | До какой обновляет |
|---|---|---|
| MySQL (Percona Server) | 9.0.6 | 8.4 |
| PostgreSQL | 9.0.8 | 15, затем 16 |
У PostgreSQL шаг двойной: пункт обновления до 16 появляется только после перехода на 15, а потом исчезает вовсе. Это нормальное поведение меню, а не сбой.
Отката нет
У PHP есть пункт понижения версии, у базы — нет. Единственный способ вернуться — развернуть резервную копию, снятую до обновления. Поэтому копия здесь не формальность:
- снимите копию базы и проверьте, что она разворачивается;
- убедитесь, что свободного места хватает — во время обновления рядом существуют старые и новые файлы данных;
- выберите окно: сайт будет недоступен, а длительность заранее не предскажешь.
Если задача завершилась с ошибкой
Частая картина: PHP обновился нормально, а обновление базы помечено как выполненное с ошибкой. Смотреть нужно не меню, а журнал задачи — он в каталоге /opt/webdir/temp, состояние задач в пункте Background pool tasks.
Что проверить в первую очередь:
- Свободное место. Самая частая причина: процедуре негде развернуть новые файлы данных.
- Доступ к базе. Если пароль служебного пользователя менялся руками, процедура не сможет подключиться; в меню есть отдельный пункт для приведения настроек всех серверов базы в порядок.
- Состояние самой базы. Повреждённые таблицы останавливают обновление.
Не запускайте обновление повторно, пока не поняли причину: вторая попытка на половине пути делает состояние хуже, чем было.
Что проверить после
- сайт открывается, административная часть работает;
- проверка системы не ругается на версию базы;
- обмены с 1С и выгрузки проходят — они дают самую тяжёлую нагрузку и первыми находят проблемы;
- резервное копирование по расписанию выполняется;
- кодировка таблиц осталась прежней — после обновления её стоит проверить, особенно если база старая.
Если база большая
На десятках гигабайт обновление идёт часами. Разумный порядок — сначала уменьшить базу, потом обновлять: чаще всего вес дают журнал событий портала, история изменений и файлы, сложенные в базу вместо диска. Разбор в отдельной инструкции про размер базы.
Частые вопросы
Можно ли откатить обновление базы?
Штатного отката нет. Единственный способ вернуться — развернуть резервную копию, снятую до обновления. Поэтому копия здесь не формальность, а обязательный шаг.
Сколько занимает обновление?
От минут до часов: зависит от объёма базы и нагрузки. Задача идёт в фоне, следить за ней можно в пункте Background pool tasks, журналы лежат в /opt/webdir/temp.
Обязательно ли обновлять базу?
Если текущая версия ниже минимальных требований продукта — да. В остальных случаях обновляются ради производительности и поддержки: старые версии перестают получать исправления безопасности.