Thank you for reading this post, don't forget to subscribe!
Обновление MariaDB 5.5 до 10.4 в Centos 7 c ISPmanager 5.
Перед началом обновления, делаем dump для баз данных. Тут уже решать вам, сделать дамп для каждой БД(если их много), либо запихнуть всё в один дамп.
1. После того, как создали дампы БД останавливаем mariadb:
systemctl stop mariadb
1.1. На всякий случай скопируем ещё каталог. Мало ли)
cp -a /var/lib/mysql/ /var/lib/mysql.bak
2. Далее удаляем текущую версию mariadb. Делать это желательно через " rpm --nodeps -e имя_пакета ", предварительно просмотрев пакеты rpm -qa |grep mariadb |sort
rpm -qa |grep mariadb |sort
mariadb-5.5.56-2.el7.x86_64
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
и соотвественно:
rpm --nodeps -e mariadb-5.5.56-2.el7.x86_64 mariadb-libs-5.5.56-2.el7.x86_64 mariadb-server-5.5.56-2.el7.x86_64
2.2 Удаляемые зависимости панели, а именно: coremanager-pkg-mysql, ispmanager-pkg-mysql, mysqltuner
Смотрим что есть:
rpm -qa |grep mysql |sort
coremanager-pkg-mysql-5.213.0-1.el7.centos.x86_64
ispmanager-pkg-mysql-5.213.0-1.el7.centos.x86_64
mysqltuner-1.7.13-1.git.59e5f40.el7.noarch
ну и грохаем:
rpm --nodeps -e coremanager-pkg-mysql-5.213.0-1.el7.centos.x86_64 ispmanager-pkg-mysql-5.213.0-1.el7.centos.x86_64 mysqltuner-1.7.13-1.git.59e5f40.el7.noarch
3. Подключаем репозиторий со свежей версией. Взять его можно тут https://downloads.mariadb.org/
vim /etc/yum.repos.d/maria10-4.repo
# MariaDB 10.4 CentOS repository list - created 2019-09-06 16:47 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
4. Устанавливаем:
yum install MariaDB-server MariaDB-client MariaDB-shared
5. Запускаем сервер:
mkdir -p /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld
systemctl enable mariadb
systemctl start mariadb
6. Устанавливаем зависимости панели которые были удалены ранее.
yum install coremanager-pkg-mysql ispmanager-pkg-mysql mysqltuner
7. Чекаем базы:
mysql_upgrade -uroot -p
Вот тут у меня случилась засада. Слетел пасс рута. При установке версии 10.1, 10.3 таких проблем не было.
Но не беда, в панели ISP в разделе "Серверы баз данных" задаём новый пароль. После чего делаем upgrade.
8. Перезапускаем ISPmanager
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
или
killall core
9. Проверяем что всё ок:
mysql -V
mysql Ver 15.1 Distrib 10.4.7-MariaDB, for Linux (x86_64) using readline 5.1
Заходим в панель и смотрим не пропали ли БД, возможность создания новых и т.д. Ну и важно проверить работу сайтов.
10. В MariaDB версии 10.4(как и в 10.3) на Centos 7 имеется бага. После ребута сервера, удаляется каталог /var/run/mysqld , после чего mysql не стартует.
Временное решение проблемы.
В /etc/systemd/system/mariadbfix.service добавляем сие:
[Unit]
Description=Fix permission with /var/run/mysqld
After=network.target
[Service]
Type=simple
ExecStartPre=-/usr/bin/mkdir /var/run/mysqld
ExecStart=/usr/bin/chown mysql:mysql /var/run/mysqld
Restart=on-abort
[Install]
WantedBy=multi-user.target
Далее включаем новую службу в systemd:
systemctl start mariadbfix
systemctl enable mariadbfix
systemctl status mariadbfix
Перезапускаем MariaDB:
systemctl restart mariadb