(в случае переустановки или обновления версии)
Сохранить бекап
sudo mariadb-backup --backup --user=dbuser --password=dbpass --target-dir=/var/backups/mariadb_preupgrade_backup
Остановить сервер и удалить пакеты
sudo systemctl stop mariadb
sudo apt remove "mariadb-*"
# version 10.3 or earlier
sudo apt remove galera
# version 10.4+
sudo apt remove galera-4 # -> Виртуальные пакеты, подобные «galera», не могут быть удалены
sudo apt autoremove
Проверить что команда возвращает пусто результат
sudo apt list --installed | grep -i -E "mariadb|galera"
sudo apt install wget
wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
echo "32e01fbe65b4cecc074e19f04c719d1a600e314236c3bb40d91e555b7a2abbfc mariadb_repo_setup" | sha256sum -c -
sudo chmod +x mariadb_repo_setup
sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.5"
sudo apt update
sudo apt install mariadb-server mariadb-backup
sudo mysql_secure_installation
Пароль root не устанавливать. Появится опрос - отключаем небезопасные опции.
Enter current password for root (enter for none): <ENTER>
Set root password? [Y/n] n <ENTER>
Remove anonymous users? [Y/n] Y <ENTER>
Disallow root login remotely? [Y/n] Y <ENTER>
Remove test database and access to it? [Y/n] Y <ENTER>
Reload privilege tables now? [Y/n] Y <ENTER>
Устанавливаем пароль админа (имя настраиваемое) и применяем
sudo mysql
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Создаём базу
sudo mysql -u admin -p
MariaDB [(none)]> CREATE DATABASE my_database;
MariaDB [(none)]> exit
Для исправления проблем совместимости запустите
sudo mariadb-upgrade
Восстановление базы данных
sudo mariadb-backup --prepare --target-dir=/var/backups/mariadb_preupgrade_backup
sudo systemctl status mariadb
sudo service mariadb start
sudo service mariadb stop