Jump to content

Upgrade MariaDB 10.11 In CWP Centos 7 Centos 8 stream AlmaLinux 7/8 RockyLinux 7/8

Featured Replies

Posted

MariaDB 10.11 is now very stable and many features have been added and improved in this version You can check all the lists of changes here

I’ve checked MariaDB 10.11 with WordPress, Joomla, xenforo, IPS forum and some more PHP scripts which depends on MySQL DB are working fine with this version hence it is safe to upgrade to this version.

Short description about MariaDB :

MariaDB is designed as a drop-in replacement of MySQL with more features, new storage engines, fewer bugs, and better performance. MariaDB is developed by many of the original developers of MySQL who now work for the MariaDB Foundation and the MariaDB Corporation, and by many people in the community.

Step 1 :
Remove MariaDB 10.0/10.1/10.2/10.3/10.x
To upgrade Mariadb 10.11 in Centos 7/CWP do this :
Before installing it is recommended to backup your databases, although it is not necessary if you followed this steps carefully.

First, backup your current my.cnf config :

cp /etc/my.cnf /etc/my.cnf.bak


Remove MariaDB 10.0/10.1/10.2/10.3/10.xx :

systemctl stop mariadb mysql mysqld
systemctl disable mariadb
rpm --nodeps -ev MariaDB-server


At this point, MariaDB 10.0/10.1/10.2/10.3.10.xx will be removed completely, but the databases are not removed, so you don’t need to worry.

Then Install MariaDB 10.11 :

Step 2 :
Installation/Updating from MariaDB 10.0/10.1/10.2/10.3/10.xx to MariaDB 10.11


To upgrade Mariadb to 10.11 in Centos 7 CWP do this :
Install/enable the Official repo for mariadb 10.11:

yum install nano epel-release -y


Now edit/create the Repo file :

Ensure you don’t have any other MariaDB repo file in /etc/yum.repos.d If it exists, delete or backup the existing repo file :

mv /etc/yum.repos.d/mariadb.repo /etc/yum.repos.d/mariadb.repo.bak
nano /etc/yum.repos.d/mariadb.repo


Then paste these lines and save them:
to install Mariadb 10.11

[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/10.11/centos/$releasever/$basearch
module_hotfixes = 1
gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1


After that, we’ll install MariaDB 10.11 :

yum clean all
yum install MariaDB-server MariaDB-client net-snmp perl-DBD-MySQL -y
yum update -y


To upgrade Mariadb 10.11 in CentOS 8 stream/AlmaLinux 8/rockylinux 8, do this :

Check this reply if the upgrade is failing :
https://www.alphagnu.com/topic/23-upgrade-mariadb-1011-in-cwp-centos-7-centos-8-stream-almalinux-78-rockylinux-78/#findComment-1302

Now edit/create the Repo file :

Ensure you don’t have any other MariaDB repo file in /etc/yum.repos.d If it exists, delete or backup the existing repo file :

mv /etc/yum.repos.d/mariadb.repo /etc/yum.repos.d/mariadb.repo.bak
nano /etc/yum.repos.d/mariadb.repo


Add these lines and save them:

[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/10.11/centos/$releasever/$basearch
module_hotfixes = 1
gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1


After that, update Mariadb 10.11 :

yum clean all
yum install MariaDB-server MariaDB-client net-snmp perl-DBD-MySQL -y
yum update -y


Step 3 :
Restore the my.cnf file :

rm -rf /etc/my.cnf
cp /etc/my.cnf.bak /etc/my.cnf


Then enable MariaDB to start on boot and start the service :

systemctl enable mariadb
service mariadb start


Step 4 :
After Installation, we need to upgrade the current databases with this command :

mysql_upgrade --force


that’s it you’ve successfully upgraded MariaDB 10.0/10.1/10.2/10.3/10.xx to MariaDB 10.11.

You can confirm the version by running this command from the terminal: ssh:

mysql -V

 

  • 2 weeks later...

Worked fine. Thanks a lot for these detailed instructions. 

Cheers!

  • 1 month later...

Every thing seems to be running OK following the above in AlmaLinux 8.9

There is one thing: mysql_upgrade --force works but it produces the following error ---> "mysql_upgrade: unknown variable 'query_cache_type=1'"

In CWP dashboard using the restart MySQL Database Server button works, and the error is suppressed in the success dialogue. 

Thanks for sharing this with us Sandeep! 

  • 3 months later...

Tried this on one of my servers and the upgrade went smoothly but monit monitoring doesn't seem to pick it up.

I always get :

Process - mysql Execution failed | Does not exist

reloading / restarting / unmonitor and remonitor didn't help.

Maybe we need to update the contents of File: /etc/monit.d/cwp.mysql  somehow ?

 

  • Author

add this line to /etc/my.cnf 

[mysqld]
pid-file = /var/lib/mysql/mariadb.pid

restart mariadb service

and edit monit config file

nano /etc/monit.d/cwp.mysql

replace with below config

check process mariadb with pidfile /var/lib/mysql/mariadb.pid
  group database
  start program = "/usr/bin/systemctl start mariadb"
  stop  program = "/usr/bin/systemctl stop mariadb"
  restart program  = "/usr/bin/systemctl restart mariadb"
  if failed port 3306 protocol mysql then restart
  if 3 restarts within 5 cycles then timeout
  alert root@localhost only on {timeout}

then restart monit service 

35 minutes ago, Sandeep B. said:

add this line to /etc/my.cnf 

[mysqld]
pid-file = /var/lib/mysql/mariadb.pid

restart mariadb service

and edit monit config file

nano /etc/monit.d/cwp.mysql

replace with below config

check process mariadb with pidfile /var/lib/mysql/mariadb.pid
  group database
  start program = "/usr/bin/systemctl start mariadb"
  stop  program = "/usr/bin/systemctl stop mariadb"
  restart program  = "/usr/bin/systemctl restart mariadb"
  if failed port 3306 protocol mysql then restart
  if 3 restarts within 5 cycles then timeout
  depends on mariadb_bin
  depends on mariadb_init
  alert root@localhost only on {timeout}

then restart monit service 

Now monit won't start at all.

running sudo monit -t

get this
 

Depending service 'mariadb_init' is not defined in the control file

 

Had to remove both

  depends on mariadb_bin
  depends on mariadb_init

and now it's working good. Thank you for the great help!

  • 1 month later...

Hello,

Why do I get this error when I want to update the galera? 

spacer.png

Error: 
 Problem: cannot install the best update candidate for package galera-4-26.4.16-1.el8.x86_64
  - nothing provides libboost_program_options-mt.so.1.53.0()(64bit) needed by galera-4-26.4.18-1.el7.centos.x86_64 from mariadb
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

 

  • 5 months later...

After upgrading the CPU get high and all the websites not working , and the server is too slow, i tried to reboot but the result is the same.

 

  • CPU Model: AMD Ryzen 5 3600 6-Core Processor
  • CPU Details: 12 Core (2200 MHz)
  • Distro Name: CentOS Linux release 7.9.2009 (Core)
  • Kernel Version: 3.10.0-1160.119.1.el7.x86_64
  • Platform: x86_64 Dedicated

Edited by Leebrimlow

  • 5 months later...

Getting the error. Looks like something messed up earlier during upgrade to almalinux 8?

Please help

CentOS-Stream - AppStream 492 B/s | 257 B 00:00

Errors during downloading metadata for repository 'Stream-AppStream':

- Status code: 404 for http://repo.centos-webpanel.com/8-cwp-stream/stable/AppStream/x86_64/os/repodata/repomd.xml (IP: 5.196.100.135)

Error: Failed to download metadata for repo 'Stream-AppStream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

On 4/4/2025 at 7:53 PM, siteur said:

Getting the error. Looks like something messed up earlier during upgrade to almalinux 8?

Please help

CentOS-Stream - AppStream 492 B/s | 257 B 00:00

Errors during downloading metadata for repository 'Stream-AppStream':

- Status code: 404 for http://repo.centos-webpanel.com/8-cwp-stream/stable/AppStream/x86_64/os/repodata/repomd.xml (IP: 5.196.100.135)

Error: Failed to download metadata for repo 'Stream-AppStream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

This is resolved. Old repos of centos were still present after elevate upgrade.

  • 2 weeks later...

So on my new install alma8 I did exactly as you said. No errors at any point. But when I checked the version it still said 10.3. I looked on my cwp panel and noticed that the php version was 5.3. Why is cwp still installing 5.3? Anyway, I am upgrading php to 8.1 at this time and will try it again. But I dont have great expectations.

mysql -V

mysql Ver 15.1 Distrib 10.3.39-MariaDB, for Linux (x86_64) using readline 5.1

oops. I did not notice the error messages........

[root@server ~]# yum install MariaDB-server MariaDB-client net-snmp perl-DBD-MySQL -y
CentOS Web Panel repo for Linux 8 - x86_64 433 kB/s | 305 kB 00:00
AlmaLinux 8 - BaseOS 44 MB/s | 22 MB 00:00
AlmaLinux 8 - AppStream 44 MB/s | 17 MB 00:00
AlmaLinux 8 - Extras 82 kB/s | 14 kB 00:00
AlmaLinux 8 - PowerTools 19 MB/s | 4.4 MB 00:00
AlmaLinux 8 - PowerTools Source 343 kB/s | 139 kB 00:00
AlmaLinux 8 - PowerTools debuginfo 2.0 MB/s | 744 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 14 MB/s | 14 MB 00:00
Extra Packages for Enterprise Linux Modular 8 - 1.1 MB/s | 733 kB 00:00
MariaDB 332 kB/s | 624 kB 00:01
Package perl-DBD-MySQL-4.046-3.module_el8.6.0+2827+49d66dc3.x86_64 is already installed.
Error:
Problem: problem with installed package mariadb-gssapi-server-3:10.3.39-1.modul e_el8.8.0+3609+204d4ab0.x86_64
- package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System requires mariadb-server(x86-64) = 3:10.3.39-1.module_el8.8.0+3609+204d4ab0, but none of the providers can be installed
- package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream requires mariadb-server(x86-64) = 3:10.3.39-1.module_el8.8.0+3609+204d4ab0, but none of the providers can be installed
- package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System conflicts with mysql-server provided by MariaDB-server-10.11.11-1.el8.x86_64 from mariadb
- package MariaDB-server-10.11.11-1.el8.x86_64 from mariadb obsoletes mariadb-server provided by mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System
- package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream conflicts with mysql-server provided by MariaDB-server-10.11.11-1.el8.x86_64 from mariadb
- package MariaDB-server-10.11.11-1.el8.x86_64 from mariadb obsoletes mariadb-server provided by mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream
- cannot install the best candidate for the job
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@server ~]# yum update -y
Last metadata expiration check: 0:00:26 ago on Thu 17 Apr 2025 04:06:19 PM UTC.
Error:
Problem 1: package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System requires mariadb-server(x86-64) = 3:10.3.39-1.module_el8.8.0+3609+204d4ab0, but none of the providers can be installed
- package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System conflicts with mysql-server provided by MariaDB-server-10.11.11-1.el8.x86_64 from mariadb
- package MariaDB-server-10.11.11-1.el8.x86_64 from mariadb obsoletes mariadb-server provided by mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System
- package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream conflicts with mysql-server provided by MariaDB-server-10.11.11-1.el8.x86_64 from mariadb
- package MariaDB-server-10.11.11-1.el8.x86_64 from mariadb obsoletes mariadb-server provided by mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream
- cannot install the best update candidate for package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64
- cannot install the best update candidate for package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64
Problem 2: problem with installed package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64
- package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System requires mariadb-server(x86-64) = 3:10.3.39-1.module_el8.8.0+3609+204d4ab0, but none of the providers can be installed
- package mariadb-gssapi-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream requires mariadb-server(x86-64) = 3:10.3.39-1.module_el8.8.0+3609+204d4ab0, but none of the providers can be installed
- package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System conflicts with mysql-server provided by MariaDB-server-10.11.11-1.el8.x86_64 from mariadb
- package MariaDB-server-10.11.11-1.el8.x86_64 from mariadb obsoletes mariadb-server provided by mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from @System
- package mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream conflicts with mysql-server provided by MariaDB-server-10.11.11-1.el8.x86_64 from mariadb
- package MariaDB-server-10.11.11-1.el8.x86_64 from mariadb obsoletes mariadb-server provided by mariadb-server-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64 from appstream
- cannot install the best update candidate for package mariadb-server-utils-3:10.3.39-1.module_el8.8.0+3609+204d4ab0.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
On 6/2/2023 at 9:42 AM, Sandeep B. said:
mv /etc/yum.repos.d/mariadb.repo /etc/yum.repos.d/mariadb.repo.bak
nano /etc/yum.repos.d/mariadb.repo

I thought I did that with these commands

1 hour ago, Sandeep B. said:

You need to remove mariadb server rpm

dnf module disable mariadb -y
rpm -e --nopdeps mariadb-server


If you get any other conflicting package use the same rpm remove commands and replace the mariadb-server with the conflicting package name.

After that use same procedure to update mariadb

typo above --nopdeps

Making progress but getting this error which prevents me from starting or stopping mysql

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock

The install seemed to go smoothly but got a bunch of character set errors.

Total 66 MB/s | 155 MB 00:02

Running transaction check

Transaction check succeeded.

Running transaction test

The downloaded packages were saved in cache until the next successful transaction.

You can remove cached packages by executing 'yum clean packages'.

Error: Transaction test error:

file /usr/share/mysql/charsets/Index.xml from install of MariaDB-common-10.11.11-1.el8.x86_64 conflicts with file from package mysql-common-8.0.41-1.module_el8.10.0+3965+b415b607.x86_64

right now I am in a situation where I dont have a working database. Cant even login to centos cwp.

Create an account or sign in to comment