Обновление MariaDB на AlmaLinux
Перед обновлением резервные копии администратора панели, пользователей панели и их баз данных должны быть настроены и успешно созданы в панели.
Предусмотрено обновление только с MariaDB версий 10.X до MariaDB 11.4 и только в стандартной конфигурациив ОС AlmaLinux 8 и 9.
Выполняя обновление СУБД по данной инструкции, вы должны понимать все действия и принимаете всю ответственность на себя!
Также крайне рекомендуется свериться с официальной документацией MariaDB указанных версий до выполнения обновления для проверки совместимости директив, их значений и параметров данных баз данных.
Не используйте какой-либо режим работы сервера MariaDB: директива sql-mode должна не иметь значений или должна быть удалена из конфигурации вовсе - это необходимо для обеспечения совместимости с устаревшими типами данных в базах данных.
Подготовка
В процессе обновления сервера БД панель, сайты и приложения, которые используют данный сервер баз данных, будут недоступны - для обновления выберите время с минимальной нагрузкой на сервер, а также предупредите ваших пользователей!
Убедитесь, что на диске свободно как минимум 2 ГБайта:
df -h /Убедитесь, что свободно не менее 2 ГБайт оперативной памяти:
free -mhОбновите все пакеты системы:
dnf updateОтключите мониторинг службы 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 <имя_дампа>Наличие успешно созданного дампа критично для обеспечения сохранности всех данных СУБД - крайне не рекомендуется приступать к обновлению, если дамп не был создан корректно!
Если необходимо запустить панель после её остановки ранее, смотрите раздел Запуск и проверка.
Обновление
Остановите службу MariaDB:
systemctl stop mysqldОтключите модули mariadb и mysql из AppStream:
dnf module disable mariadb -y
dnf module disable mysql -yСгенерируйте зеркало репозитория на официальном сайте MariaDB:
- Откройте вкладку MariaDB Server Repositories
- Выберите дистрибутив Red Hat Enterprise Linux X, где X - номер версии вашей ОС.
- Выберите версию MariaDB 11.4
- Выберите ближайшее к вам зеркало
Подключите репозиторий новой версии MariaDB, вставив сгенерированное содержимое между командами EOF, например:
tee /etc/yum.repos.d/MariaDB.repo << EOF
[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/11.4/rhel/\$releasever/\$basearch
module_hotfixes=1
gpgkey=https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
EOFПодключите репозиторий с зависимостями:
tee /etc/yum.repos.d/mysql-community.repo << EOF
[mysql-8.4-lts-community]
name=MySQL 8.4 LTS Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.4-community/el/\$releasever/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2025
EOFСсылка на GPG-ключ может измениться. Проверить актуальный файл с ключом можно в самом репозитории.
Очистите и пересоздайте кэш пакетов:
dnf clean all
dnf makecacheУдалите старые пакеты MariaDB:
rpm -e mariadb-server mariadb-common mariadb mariadb-backup mariadb-errmsg mariadb-gssapi-server mariadb-server-utils mariadb-connector-c mariadb-connector-c-config --nodepsУстановите пакеты новой версии MariaDB:
dnf install MariaDB-server MariaDB-clientЗапуск и проверка
Проверьте конфигурационный файл на ошибки:
mariadbd --defaults-file='/etc/my.cnf.d/mariadb-server.cnf.rpmsave' --verbose --help | grep 'ERROR\]'Если ошибки отсутствуют, восстановите его для работы:
cp -ar /etc/my.cnf.d/mariadb-server.cnf.rpmsave /etc/my.cnf.d/mariadb-server.cnfЕсли вы используете собственные дополнительные конфигурационные файлы, проверьте, исправьте и восстановите их с помощью приведенных выше команд, указав вместо mariadb-server.cnf.rpmsave и mariadb-server.cnf имена ваших конфигураций.
Запустите и проверьте статус службы MariaDB:
systemctl start mariadb
systemctl status mariadbВключите службу в автозагрузку:
systemctl enable mariadbПроверьте версию MariaDB:
rpm -qa | grep -iE "(mysql|mariadb)" | grep -i serverЕсли служба по-прежнему не запускается, убедитесь что в конфигурационном файле назначен журнал для директивы 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Перезагрузите службу СУБД:
systemctl restart mariadbУстановите новый путь до исполняемого файла для панели ispmanager 6:
sed -i "s/\/usr\/libexec\/mysqld/\/usr\/sbin\/mariadbd/g" /usr/local/mgr5/etc/ispmgr.conf.d/mysql.confПроверьте авторизацию в СУБД:
mariadb -u root -pЗапустите панель:
/usr/local/mgr5/sbin/mgrctl -m core --unlockПерейдите в раздел Уведомления и удалите уведомления о решении проблемы службы mysql.
В разделе Конфигурация ПО пункт Сервер СУБД MySQL может быть неактивен - это стандартное поведение панели и связано с ручным изменением нативного ПО.
Действия после обновления
- У сайтов работающих на PHP-FPM возможно появление ошибки 404 - это связано с отсутствием поддержки ЧПУ у сайта. Вы можете включить поддержку ЧПУ в настройках каждого конкретного сайта в разделе Сайты.
- В AlmaLinux 8 для phpMyAdmin потребуется по инструкции изменить системный PHP на версию 7.4, поскольку нативная версия 7.2 не поддерживает работу плагина caching_sha2_password и phpMyAdmin не сможет выполнять авторизацию на новый сервер баз данных.
- Включите мониторинг службы mariadb в панели в разделе Службы через кнопку Мониторинг.