How to Completely Remove Mysql and Install MariaDB 10 (linoxide.com)
1) Completely uninstall mysql
We first need to properly uninstall MySql with all its dependencies
# yum list installed | grep mysql
mysql-community-client.x86_64 5.6.37-2.el7 @mysql56-community
mysql-community-common.x86_64 5.6.37-2.el7 @mysql56-community
mysql-community-libs.x86_64 5.6.37-2.el7 @mysql56-community
mysql-community-release.noarch el7-5 installed
mysql-community-server.x86_64 5.6.37-2.el7 @mysql56-community
To remove a package with it's dependencies , you need to install yum plugin called: remove-with-leaves. To install it type:
# yum install yum-plugin-remove-with-leaves
Now to remove a package with its dependencies: yum remove package_name --remove-leaves as below
# yum remove mysql-server --remove-leaves
Loaded plugins: fastestmirror, remove-with-leaves
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.6.37-2.el7 will be erased
--> Finished Dependency Resolution
removing libaio-0.3.109-13.el7.x86_64. It is not required by anything else.
removing mysql-community-client-5.6.37-2.el7.x86_64. It is not required by anything else.
removing mysql-community-libs-5.6.37-2.el7.x86_64. It is not required by anything else.
removing mysql-community-common-5.6.37-2.el7.x86_64. It is not required by anything else.
--> Running transaction check
---> Package libaio.x86_64 0:0.3.109-13.el7 will be erased
---> Package mysql-community-client.x86_64 0:5.6.37-2.el7 will be erased
---> Package mysql-community-common.x86_64 0:5.6.37-2.el7 will be erased
---> Package mysql-community-libs.x86_64 0:5.6.37-2.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Removing:
libaio x86_64 0.3.109-13.el7 @base 38 k
mysql-community-client x86_64 5.6.37-2.el7 @mysql56-community 89 M
mysql-community-common x86_64 5.6.37-2.el7 @mysql56-community 2.1 M
mysql-community-libs x86_64 5.6.37-2.el7 @mysql56-community 9.2 M
mysql-community-server x86_64 5.6.37-2.el7 @mysql56-community 251 M
We also need to uninstall the mysql-community-release repo
# yum remove mysql-community-release-el7-5
Loaded plugins: fastestmirror, remove-with-leaves
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-release.noarch 0:el7-5 will be erased
--> Finished Dependency Resolution
2) Remove MySQL Directory
Now we need to remove MySQL default data directory /var/lib/mysql
from our system. If you don't see the directory in the default location, it means that it changed to some other place which you can find in /etc/my.cnf
file with variable datadir.
In our case, we will delete the /var/lib/mysql
directory from the system but you can prefer to rename it in order to keep a backup of the existing files. We will completely clean up our installation directory.
# rm -rf /var/lib/mysql/
# rm -rf /etc/my.cnf
3) Install MariaDB 10
To install MariaDB 10, we must add the repo on your server. We will create a MariaDB repo file under /etc/yum.repos.d/MariaDB.repo
with the content below
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5.10(10.3)/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
now we can install our packages
# yum install MariaDB-server MariaDB-client
Loaded plugins: fastestmirror, remove-with-leaves
Loading mirror speeds from cached hostfile
* base: mirrors.linode.com
* epel: mirrors.kernel.org
* extras: mirrors.linode.com
* rpmforge: mirrors.evowise.com
* updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-client.x86_64 0:10.1.26-1.el7.centos will be installed
--> Processing Dependency: MariaDB-common for package: MariaDB-client-10.1.26-1.el7.centos.x86_64
---> Package MariaDB-server.x86_64 0:10.1.26-1.el7.centos will be installed
--> Processing Dependency: galera for package: MariaDB-server-10.1.26-1.el7.centos.x86_64
--> Running transaction check
---> Package MariaDB-common.x86_64 0:10.1.26-1.el7.centos will be installed
---> Package galera.x86_64 0:25.3.20-1.rhel7.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Installing:
MariaDB-client x86_64 10.1.26-1.el7.centos mariadb 39 M
MariaDB-server x86_64 10.1.26-1.el7.centos mariadb 103 M
Installing for dependencies:
MariaDB-common x86_64 10.1.26-1.el7.centos mariadb 123 k
galera x86_64 25.3.20-1.rhel7.el7.centos mariadb 8.0 M
Transaction Summary
======================================================================================================================================================
Install 2 Packages (+2 Dependent packages)
Total size: 150 M
Total download size: 150 M
Installed size: 647 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): MariaDB-10.1.26-centos7-x86_64-client.rpm | 39 MB 00:00:02
(2/3): galera-25.3.20-1.rhel7.el7.centos.x86_64.rpm | 8.0 MB 00:00:01
(3/3): MariaDB-10.1.26-centos7-x86_64-server.rpm | 103 MB 00:00:12
------------------------------------------------------------------------------------------------------------------------------------------------------
Total 12 MB/s | 150 MB 00:00:12
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : MariaDB-common-10.1.26-1.el7.centos.x86_64 1/4
Installing : MariaDB-client-10.1.26-1.el7.centos.x86_64 2/4
Installing : galera-25.3.20-1.rhel7.el7.centos.x86_64 3/4
Installing : MariaDB-server-10.1.26-1.el7.centos.x86_64
You can check the status as below
# yum list installed | grep mariadb
MariaDB-client.x86_64 10.1.26-1.el7.centos @mariadb
MariaDB-common.x86_64 10.1.26-1.el7.centos @mariadb
MariaDB-server.x86_64 10.1.26-1.el7.centos @mariadb
MariaDB-shared.x86_64 10.1.26-1.el7.centos @mariadb
You can't have MySQL and MariaDB installed on the same server. So you need to do a complete uninstallation. You must notice that when having MariaDB installed, if you need to remove it in order to install MySQL, don't forget to remove the repo otherwise MySQL will be not able to be installed.