Linux

/
/
Обновление MariaDB на Ubuntu

Обновление MariaDB на Ubuntu

Перед обновлением резервные копии администратора панели, пользователей панели и их баз данных должны быть настроены и успешно созданы в панели.

Внимание!

Предусмотрено обновление только с MariaDB версий 10.X до  MariaDB 11.4 и только в стандартной конфигурации в ОС Ubuntu 22.04 и 24.04.

Выполняя обновление СУБД по данной инструкции, вы должны понимать все действия и принимаете всю ответственность на себя!

Также крайне рекомендуется свериться с официальной документацией MariaDB указанных версий до выполнения обновления для проверки совместимости директив, их значений и параметров данных баз данных.

Не используйте какой-либо режим работы сервера MySQL: директива sql-mode должна не иметь значений или должна быть удалена из конфигурации вовсе - это необходимо для обеспечения совместимости с устаревшими типами данных в базах данных.

Подготовка

Совет

В процессе обновления сервера БД панель, сайты и приложения, которые используют данный сервер баз данных, будут недоступны - для обновления выберите время с минимальной нагрузкой на сервер, а также предупредите ваших пользователей!

Убедитесь, что на диске свободно как минимум 2 ГБайта:

df -h /

Убедитесь, что свободно не менее 2 ГБайт оперативной памяти:

free -mh

Обновите все пакеты системы:

apt -y update && apt upgrade

Отключите мониторинг службы mariadb в панели в разделе Службы через кнопку Мониторинг.

Остановите работу панели ispmanager 6:

/usr/local/mgr5/sbin/mgrctl -m core --lock

Убедитесь, что процессы панели остановлены:

ps aux | grep -i ispmgr | grep -v grep

Скопируйте root-пароль СУБД из /root/.my.cnf и создайте резервную копию (дамп) всех баз данных нативной СУБД:

mysqldump -u root -p<пароль> --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql

Проверьте наличие строки "Dump completed" в дампе - она укажет на успешное создание дампа:

tail <имя_дампа>
Важно!

Наличие успешно созданного дампа критично для обеспечения сохранности всех данных в БД - крайне не рекомендуется приступать к обновлению, если дамп не был создан корректно!

Если необходимо запустить панель после её остановки ранее, смотрите раздел Запуск и проверка.

Обновление

Установите пакеты необходимые для обновления:

apt install curl apt-transport-https

Добавьте репозиторий MariaDB версии 11.4:

curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-11.4"

Остановите службу MariaDB:

systemctl stop mariadb

Обновите пакеты СУБД:

apt update
apt install --only-upgrade mariadb-server mariadb-client libmariadb3 mariadb-common mysql-common

В процессе обновления возникнет вопрос на перезапись конфигурационного файла /etc/mysql/mariadb.conf.d/50-server.cnf - рекомендуется ответить "keep your currently-installed version", чтобы оставить рабочую конфигурацию.

Запуск и проверка

Проверьте статус службы MariaDB:

systemctl status mariadb

Если служба возвращает ошибку, проверьте синтаксис файла конфигурации:

/usr/sbin/mariadbd --defaults-file=/etc/mysql/my.cnf --verbose --help | grep 'ERROR\]'

Если требуется, исправьте ошибки, после чего запустите службу и включите её автозапуск:

systemctl start mariadb
systemctl enable mariadb

Если служба по-прежнему не запускается, убедитесь что в конфигурационном файле назначен журнал для директивы log_error и этот журнал. По умолчанию, журнал расположен по пути /var/log/mysql/error.log и посмотреть последние записи можно через команду:

tail -n 50 /var/log/mysql/error.log

Вы можете обратиться в поддержку ispmanager за консультацией по ошибкам работы сервера баз данных.

Если ошибки отсутствуют, обновите структуру баз данных:

mariadb-upgrade

Удалите символические ссылки:

rm /lib/systemd/system/mysqld.service /lib/systemd/system/mysql.service /usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/mysql.service -f; systemctl daemon-reload

Проверьте версию MySQL:

dpkg -l | grep -iE "(mysql|mariadb)" | grep -i server

Проверьте авторизацию в СУБД:

mariadb -u root -p

Замените путь до исполняемого файла службы:

sed -i "s/\/usr\/sbin\/mysqld/\/usr\/sbin\/mariadbd/g" /usr/local/mgr5/etc/ispmgr.conf.d/mysql.conf

Запустите панель:

/usr/local/mgr5/sbin/mgrctl -m core --unlock

Перейдите в раздел Уведомления и удалите уведомления о решении проблемы службы mariadb.

В разделе Конфигурация ПО пункт Сервер СУБД MySQL может быть неактивен - это стандартное поведение панели и связано с ручным изменением нативного ПО.

Действия после обновления

  • У сайтов работающих на PHP-FPM возможно появление ошибки 404 - это связано с отсутствием поддержки ЧПУ у сайта. Вы можете включить поддержку ЧПУ в настройках каждого конкретного сайта в разделе Сайты.
  • Включите мониторинг службы mariadb в панели в разделе Службы через кнопку Мониторинг.