如何彻底删除MySQL并安装MariaDB 10

时间:2020-03-05 15:24:44  来源:igfitidea点击:

我们有一些流行的数据库工具,它是独立的和常用的。
通常,如果我们不使用相同的端口,我们可以在同一服务器上使用两个不同的关系数据库管理系统(RDBMS),但如果要使用服务器的资源的最大值,则不建议它。
通常建议在每台服务器上安装每个RDBMS,或者在必要时保留数据后卸载我们不需要的RDBMS,并安装新的服务器。

最后一点甚至没有与MariaDB和MySQL的两个RDBMS一起使用。
我们需要删除MySQL才能安装MariaDB,但有时我们可以在Linux机器上卸载MySQL卸载问题。
在本教程中,将介绍如何完成和正确卸载MySQL,以便在CentOS 7服务器上安装MariaDB 10.

了解问题

如果我们只需删除MySQL软件包并尝试安装MariaDB,系统将尝试重新安装MySQL。
我们将出现一条错误消息,指示玛丽亚达已被大量化,系统将尝试重新安装MySQL:

# yum install MariaDB-server MariaDB-client -y
Loaded plugins: fastestmirror
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
--> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: MariaDB-client-10.1.26-1.el7.centos.x86_64
--> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: MariaDB-client-10.1.26-1.el7.centos.x86_64
...............................
...............................
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
 MariaDB-shared                          x86_64                  10.1.26-1.el7.centos                        mariadb                            1.3 M
     replacing  mariadb-libs.x86_64 1:5.5.52-1.el7
 mysql-community-libs                    x86_64                  5.6.37-2.el7                                mysql56-community                  2.0 M
     replacing  mariadb-libs.x86_64 1:5.5.52-1.el7
Installing for dependencies:
 MariaDB-common                          x86_64                  10.1.26-1.el7.centos                        mariadb                            123 k
 boost-program-options                   x86_64                  1.53.0-26.el7                               base                               156 k
 galera                                  x86_64                  25.3.20-1.rhel7.el7.centos                  mariadb                            8.0 M
 jemalloc                                x86_64                  3.6.0-1.el7                                 epel                               105 k
 libaio                                  x86_64                  0.3.109-13.el7                              base                                24 k
 mysql-community-common                  x86_64                  5.6.37-2.el7                                mysql56-community                  257 k
Transaction Summary
........................
........................
Total                                                                                                                 2.7 MB/s | 3.5 MB  00:00:01     
Running transaction check
Running transaction test
Transaction check error:
  file /usr/share/mysql/charsets/Index.xml conflicts between attempted installs of mysql-community-common-5.6.37-2.el7.x86_64 and MariaDB-common-10.1.26-1.el7.centos.x86_64
  file /usr/share/mysql/charsets/armscii8.xml conflicts between attempted installs of mysql-community-common-5.6.37-2.el7.x86_64 and MariaDB-common-10.1.26-1.el7.centos.x86_64
  file /usr/share/mysql/charsets/ascii.xml conflicts between attempted installs of mysql-community-common-5.6.37-2.el7.x86_64 and MariaDB-common-10.1.26-1.el7.centos.x86_64

在这种情况下,我们必须首先从系统中完全卸载mysql并删除旧安装的所有设置,然后通过添加自己的repo来安装MariaDB。

1)完全卸载mysql

我们首先需要用其所有依赖性妥善卸载MySQL

# 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

要使用它的依赖项删除包,我们需要安装yum插件调用:remove-with-leave。
要安装它类型:

# yum install yum-plugin-remove-with-leaves

现在要删除包含其依赖项的包:yum remove package_name - remove叶片如下

# 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

我们还需要卸载MySQL-Community-Repory 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)删除mysql目录

现在我们需要从系统中删除MySQL默认数据目录/var/lib/mysql
如果我们没有看到默认位置中的目录,则意味着它将其更改为我们可以在具有变量Datadir中的/etc/my.cnf文件中找到的其他地方。

在我们的情况下,我们将从系统中删除"/var/lib/mysql"目录",但我们可以更愿意重命名它以便保留现有文件的备份。
我们将完全清理我们的安装目录。

# rm -rf /var/lib/mysql/
# rm -rf /etc/my.cnf

3)安装MariaDB 10

要安装MariaDB 10,我们必须在服务器上添加repo。
我们将在"/etc/yum.repos.d/mariadb.repo""下的内容中创建一个MariaDB Repo文件

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

现在我们可以安装我们的软件包

# 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

我们可以查看以下状态

# 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

我们不能在同一台服务器上安装MySQL和MariaDB。
所以你需要完成完整的卸载。
我们必须注意到安装MariaDB时,如果我们需要删除它才能安装MySQL,请不要忘记删除Repo否则无法安装MySQL。