我在CentOS 7上安装了MariaDB,但我在一些配置方面遇到了问题,现在它完全被配置错误。
因此,我想用“yum remove mariadb mariadb-server”删除MariaDB,然后再用“yum install mariadb mariadb-server”重新安装。
不幸的是,配置文件仍然存在。似乎yum remove没有删除所有MariaDB配置文件。
如何完全从CentOS 7中删除MariaDB?
这些步骤适用于CentOS 6.5,所以它们也应该适用于CentOS 7:
(编辑 - 同样的步骤也适用于CentOS 8上的MariaDB 10.3)
yum remove mariadb mariadb-server
rm -rf /var/lib/mysql
如果你在/etc/my.cnf中的datadir指向另一个目录,请删除该目录而不是/var/lib/mysqlrm /etc/my.cnf
这个文件可能已经在第一步被删除了rm ~/.my.cnf
yum install mariadb mariadb-server
[编辑] - 适用于CentOS 7上的MariaDB 10.1的更新
以上步骤适用于CentOS 6.5和MariaDB 10。
我刚刚在CentOS 7上安装了MariaDB 10.1,其中部分步骤略有不同。
第1步将变成:
yum remove MariaDB-server MariaDB-client
第五步将变为:
yum install MariaDB-server MariaDB-client
其它步骤保持不变。
为了更新并回答问题而不破坏邮件服务器。CentOS 7的后续版本包括MariaDB作为基础,以及依赖于MariaDB的PostFix。使用yum删除将同时删除postfix和perl-DBD-MySQL。为了解决这个问题并保留postfix,首先复制/usr/lib64/libmysqlclient.so.18(这是postfix依赖的内容),然后使用:
rpm -qa | grep mariadb
然后使用以下命令删除Mariadb软件包(更改为您的版本):
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"
删除剩余的文件和文件夹(也会删除任何数据库):
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
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
yum remove mariadb mariadb-server
实际上会同时卸载客户端和服务器包(版本为10.4.11-1.el7.centos)。 - DRP