Оглавление
Проблема. После обновления Zabbix до 6 версии не запускается обновление БД из-за ошибки:
“Unable to start Zabbix server due to unsupported MariaDB database server version (10.03.34). Use of supported database version is highly recommended.”
Обновим MariaDB
Посмотрим текущую версию
mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 252949
Server version: 10.3.34-MariaDB-0+deb10u1 Debian 10
Your MariaDB connection id is 745
Server version: 10.3.34-MariaDB-0+deb10u1 Debian 10
Бэкапируем все базы
mysqldump -u root -p --all-databases > /home/alldb.sql
Обновляем MariaDB
Останавливаем ДБ
systemctl stop mariadb
Удаляем mariadb-server
Узнаем какие пакеты установлены:
apt list --installed | grep maria
libmariadb3/oldstable,now 1:10.3.34-0+deb10u1 amd64 [installed,automatic]
mariadb-client-10.3/oldstable,now 1:10.3.34-0+deb10u1 amd64 [installed,automatic]
mariadb-client-core-10.3/oldstable,now 1:10.3.34-0+deb10u1 amd64 [installed,automatic]
mariadb-common/oldstable,now 1:10.3.34-0+deb10u1 all [installed,automatic]
mariadb-server-10.3/oldstable,now 1:10.3.34-0+deb10u1 amd64 [installed,automatic]
mariadb-server-core-10.3/oldstable,now 1:10.3.34-0+deb10u1 amd64 [installed,automatic]
mariadb-server/oldstable,now 1:10.3.34-0+deb10u1 all [installed]
Удаляем текущую версию mariadb-server:
apt purge -y mariadb-server
Качаем и ставим новую версию
Обновляем APT репозитории MariaDB до последней версии. Есть несколько способов это сделать, мы воспользуемся скриптом:
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash
Ставим последнюю версию (в нашем случае заодно ставим libmariadb3) и на вопрос что делать с конфигурацией нажимаем enter чтобы сохранить текущую конфигурацию:
apt-get install -y mariadb-server libmariadb3
Проверяем, какие версии пакетов установлены теперь:
apt list --installed | grep maria
libmariadb3/unknown,now 1:10.7.3+maria~buster amd64 [installed,automatic]
mariadb-client-10.7/unknown,now 1:10.7.3+maria~buster amd64 [installed,automatic]
mariadb-client-core-10.7/unknown,now 1:10.7.3+maria~buster amd64 [installed,automatic]
mariadb-common/unknown,unknown,now 1:10.7.3+maria~buster all [installed,automatic]
mariadb-server-10.7/unknown,now 1:10.7.3+maria~buster amd64 [installed,automatic]
mariadb-server-core-10.7/unknown,now 1:10.7.3+maria~buster amd64 [installed,automatic]
mariadb-server/unknown,unknown,now 1:10.7.3+maria~buster all [installed]
Запускаем MariaDB
systemctl start mariadb
Добавляем MariaDB в автозапуск
systemctl enable mariadb
Проверяем версию
mysql -uroot
Your MariaDB connection id is 83
Server version: 10.7.3-MariaDB-1:10.7.3+maria~buster mariadb.org binary distribution
Запускаем обновление существующих баз
mysql_upgrade -uroot --force
Processing databases
mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
…
zabbix.valuemap OK
zabbix.valuemap_mapping OK
zabbix.widget OK
zabbix.widget_field OK
Phase 7/7: Running ‘FLUSH PRIVILEGES’
OK
Восстанавливаем БД из бэкапа если нужно
mysql -u root -p </home/alldb.sql
Ссылки
https://programmersought.com/article/799010094906/
https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/