web-dev-qa-db-fra.com

Supprimer complètement MariaDB ou MySQL de CentOS 7 ou RHEL 7

J'ai installé MariaDB sur CentOS 7, mais quelques problèmes de configuration ont été rencontrés. Désormais, il est complètement mal configuré.

Ainsi, je voulais supprimer MariaDB avec “yum remove mariadb mariadb-server”, après je l'ai réinstallé avec “yum install mariadb mariadb-server”.

Malheureusement, la configuration reste. Il semble que si vous supprimez ne supprimez pas tous les fichiers de configuration MariaDB.

Comment puis-je supprimer complètement MariaDB de CentOS 7?

38
Stack Over

Ces étapes fonctionnent sur CentOS 6.5, elles devraient donc également fonctionner sur CentOS 7:

  1. yum remove mariadb mariadb-server
  2. rm -rf /var/lib/mysql Si votre datadir dans / etc/my.cnf pointe vers un autre répertoire, supprimez ce répertoire au lieu de / var/lib/mysql
  3. rm /etc/my.cnf
  4. Étape facultative: rm ~/.my.cnf
  5. yum install mariadb mariadb-server

[EDIT] - Mise à jour pour MariaDB 10.1 sur CentOS 7

Les étapes ci-dessus ont fonctionné pour CentOS 6.5 et MariaDB 10.

Je viens d'installer MariaDB 10.1 sur CentOS 7 et certaines étapes sont légèrement différentes.

L'étape 1 deviendrait:

yum remove MariaDB-server MariaDB-client

L'étape 5 deviendrait:

yum install MariaDB-server MariaDB-client

Les autres étapes restent les mêmes.

63
Ciprian Stoica

Pour mettre à jour et répondre à la question sans casser les serveurs de messagerie. MariaDB est inclus dans les versions ultérieures de CentOS 7 avec PostFix, qui repose sur MariaDB. Supprimer avec yum supprimera également postfix et Perl-DBD-MySQL. Pour contourner cela et garder postfix en place, faites d’abord une copie de /usr/lib64/libmysqlclient.so.18 (qui dépend de postfix), puis utilisez:

rpm -qa | grep mariadb

puis supprimez les paquets mariadb en utilisant (en changeant vos versions):

rpm -e --nodeps "mariadb-libs-5.5.56-2.el7.x86_64"
rpm -e --nodeps "mariadb-server-5.5.56-2.el7.x86_64"
rpm -e --nodeps "mariadb-5.5.56-2.el7.x86_64"

Supprimer les fichiers et dossiers restants (ce qui supprime également les bases de données):

rm -f /var/log/mariadb
rm -f /var/log/mariadb/mariadb.log.rpmsave
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql

Remettez en place la copie de /usr/lib64/libmysqlclient.so.18 que vous avez créée au début et vous pourrez redémarrer postfix.

Il y a plus de détails sur https://code.trev.id.au/centos-7-remove-mariadb-replace-mysql/ qui décrit comment remplacer mariaDB par MySQL.

7
Trevor

systemd

Sudo systemctl stop mysqld.service && Sudo yum remove -y mariadb mariadb-server && Sudo rm -rf /var/lib/mysql /etc/my.cnf

sysvinit

Sudo service mysql stop && Sudo apt-get remove mariadb mariadb-server && Sudo rm -rf /var/lib/mysql /etc/my.cnf
4
CRTLBREAK