Cómo eliminar completamente Mysql e instalar MariaDB 10

Tenemos algunas herramientas de base de datos populares que son independientes y de uso común. Normalmente, puede usar dos sistemas de administración de bases de datos relacionales (RDBMS) diferentes en el mismo servidor si no usan el mismo puerto, pero no se recomienda si desea usar el máximo de los recursos de su servidor. Normalmente se recomienda instalar cada RDBMS en cada servidor o desinstalar el RDBMS que no necesita después de guardar sus datos si es necesario e instalar el nuevo.
El último punto ni siquiera funciona con dos RDBMS que son MariaDB y MySql. Puede necesitar eliminar MySql para instalar MariaDB, pero a veces puede tener problemas con la desinstalación de MySQL en su máquina Linux.
En este tutorial, le mostraré cómo realizar una desinstalación completa y adecuada de MySQL para instalar MariaDB 10 en su servidor Centos 7.
Entender el problema
Si simplemente eliminamos los paquetes de MySQL e intentamos instalar MariaDB, su sistema intentará reinstalar MySQL. Tendrá un mensaje de error que indica que MariaDB está obsoleta y su sistema intentará reinstalar MySql en su lugar:
# 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
En ese caso, primero debemos desinstalar MySQL completamente del sistema y borrar todas las configuraciones de la instalación anterior y luego, instalar MariaDB agregando su propio repositorio.
1) Desinstale completamente mysql
Primero necesitamos desinstalar correctamente MySql con todas sus dependencias
# 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
Para eliminar un paquete con sus dependencias, debe instalar el complemento yum llamado: remove-with-leaves. Para instalarlo escriba:
# yum install yum-plugin-remove-with-leaves
Ahora para eliminar un paquete con sus dependencias: yum remove package_name –remove-leaves como se muestra a continuación
# 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
También necesitamos desinstalar el repositorio mysql-community-release
# 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) Eliminar el directorio MySQL
Ahora necesitamos eliminar el directorio de datos predeterminado de MySQL /var/lib/mysql
de nuestro sistema. Si no ve el directorio en la ubicación predeterminada, significa que cambió a otro lugar que puede encontrar en /etc/my.cnf
archivo con variable datadir.
En nuestro caso, eliminaremos el /var/lib/mysql
directorio del sistema, pero puede preferir cambiarle el nombre para mantener una copia de seguridad de los archivos existentes. Limpiaremos completamente nuestro directorio de instalación.
# rm -rf /var/lib/mysql/
# rm -rf /etc/my.cnf
3) Instale MariaDB 10
Para instalar MariaDB 10, debemos agregar el repositorio en su servidor. Crearemos un archivo de repositorio MariaDB en /etc/yum.repos.d/MariaDB.repo
con el contenido a continuación
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
ahora podemos instalar nuestros paquetes
# 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
Puede verificar el estado de la siguiente manera
# 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
No puede tener MySQL y MariaDB instalados en el mismo servidor. Entonces necesitas hacer una desinstalación completa. Debe tener en cuenta que cuando tenga MariaDB instalado, si necesita eliminarlo para instalar MySQL, no olvide eliminar el repositorio; de lo contrario, MySQL no podrá instalarse.
Lectura relacionada: 2 formas de instalar MariaDB en CentOS 7