Обновление MariaDB 5.5 до 10.4 в Centos 7 c ISPmanager 5.

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