MariaDB: Обновление MariaDB с 10.3 до 10.11

Краткая шпаргалка по безопасному 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 c MYSQLD_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, апгрейд завершён: данные, пользователи и пароли остаются на месте, дамп нужен только как страховка.

up: Просмотров: 294
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram