Краткая шпаргалка по безопасному major-апгрейду MariaDB на серверах RHEL/AlmaLinux 8 с переходом на официальное репо MariaDB.
1. Бэкап перед апдейтом
Создаём каталог и делаем логический дамп всех баз данных:
mkdir -p /root/mariadb-backup-$(date +%F) cd /root/mariadb-backup-$(date +%F) mysqldump -u root -p --all-databases --routines --events --single-transaction --quick --add-drop-table > all-databases.sql
Если дамп ругается на EVENTS или системные таблицы (как mysql.proc) — минимальный безопасный вариант: без процедур и событий.
mysqldump -u root -p --all-databases --skip-routines --skip-events --single-transaction --quick --add-drop-table > all-databases-no-routines-no-events.sql
Дополнительно копируем конфиги:
cp -a /etc/my.cnf* . 2>/dev/null || true cp -a /etc/my.cnf.d . 2>/dev/null || true
2. Остановка старого сервиса и отключение модуля
systemctl stop mariadb dnf module list mariadb dnf module disable mariadb
3. Удаление старых пакетов MariaDB 10.3
Удаляем только пакеты MariaDB, данные в /var/lib/mysql при этом не трогаются.
dnf remove mariadb-server mariadb mariadb-backup mariadb-server-utils mariadb-common mariadb-errmsg mariadb-gssapi-server
Проверяем, что данные на месте:
ls /var/lib/mysql
4. Подключение репозитория MariaDB 10.11
Добавляем официальное репо MariaDB 10.11 для RHEL/AlmaLinux 8:
cat > /etc/yum.repos.d/MariaDB.repo << 'EOF' [mariadb] name = MariaDB 10.11 baseurl = https://mirror.mariadb.org/yum/10.11/rhel/$releasever/$basearch gpgkey = https://mirror.mariadb.org/yum/RPM-GPG-KEY-MariaDB gpgcheck = 1 module_hotfixes = 1 EOF dnf clean all dnf makecache
5. Установка MariaDB 10.11
dnf install MariaDB-server MariaDB-client MariaDB-backup MariaDB-compat
6. Первый запуск MariaDB 10.11
systemctl enable --now mariadb systemctl status mariadb
Если сервис не стартует, смотрим лог:
journalctl -u mariadb -xe | tail -n 50
Типичный кейс: ошибка вида unknown variable '...'. В этом случае убираем устаревший параметр из конфигов:
/etc/my.cnf/etc/my.cnf.d/*.cnf/etc/systemd/system/mariadb.service.d/*.conf(drop-in cMYSQLD_OPTS)
После правки drop-in для systemd:
systemctl daemon-reload systemctl restart mariadb
7. Обновление служебных таблиц (mariadb-upgrade)
Запускаем обновление системных таблиц и привилегий:
mariadb-upgrade -u root -p # После успешного апгрейда перезапускаем сервис: systemctl restart mariadb
8. Проверка версии и баз
mariadb --version mariadb -u root -p -e "SHOW DATABASES; SELECT VERSION();"
Если все сайты работают, а версия показывает 10.11.x-MariaDB, апгрейд завершён: данные, пользователи и пароли остаются на месте, дамп нужен только как страховка.
Комментарии
0Нашли ошибку или хотите дополнить материал?