Обновление MariaDB до 10

Материал из darklurker wiki
Перейти к: навигация, поиск

Обновление до MariaDB 10

Создаем новый файл репозитория

nano /etc/yum.repos.d/Mariadb.repo

Вставляем в него параметры ниже и сохраняем

# MariaDB 10.2 CentOS repository list - created 2017-12-26 06:22 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Если установлена старая версия MariaDB — останавливаем ее:

systemctl stop mariadb

Обновляем список пакетов

yum update

Если в системе уже установлена более старая версия, то обновление будет выполнено автоматически. Если нет, то устанавливаем

sudo yum install MariaDB-server MariaDB-client
во время установки принимаем ключ GPG для репозитория MariaDB.


Настройка MariaDB

Запускаем сервис

systemctl start mariadb

Если появляется ошибка, что файл /usr/libexec/mariadb-prepare-db-dir не существует, то делаем

mv /etc/systemd/system/mariadb.service{,bak}
это вызвано тем, что мы изменили стандартный unit файл systemd и из-за этого он не был заменен на новый, когда мы удалим этот файл вместо него подтягивается новый и все будет работать. Если уже была раньше установлена версия MariaDB, то нужно запустить команду mysql_upgrade чтобы обновить все существующие таблицы:
mysql_upgrade

На этом база готова. Если это новая установка, то нужно выполнить скрипт

mysql_secure_installation
На первом шаге задаем пароль root, по умолчанию пароль не задан, y и пишем новый пароль.
Удаляем анонимных пользователей: y
Запрещаем удаленный вход для root: y
Удаляем тестовую базу данных и обновляем таблицу привилегий: y


Создание базы данных

Логинимся в БД

mysql -uROOT -pPASSWORD

Создаем базу данных

CREATE DATABASE databasename;
CREATE USER 'dbuser'@'localhost' identified by 'password';
GRANT ALL ON databasename.* TO dbuser' IDENTIFIED 'password';
FLUSH PRIVILEGES;
EXIT


Удаление MariaDB

Если нужно удалить последнюю новую версию и вернуться к более старой, из официальных репозиториев — сначала удаляем файл репозитория

rm /etc/yum.repos.d/Mariadb.repo

Затем выполняем обновление системы

yum update

Либо полностью удаляем MariaDB, но в таком случае будет удалена база данных из /var/lib/mysql, а значит пропадут все данные, которые там были:

yum remove MariaDB-server MariaDB-client