mysql - 无法卸载 mysql-server-8.0

标签 mysql server apt package-management

在已经安装了 mysql 的情况下安装 mariadb 之后,我遇到了问题并且 mysql 无法正常工作,所以我尝试卸载 mysql 并且软件包损坏了。 经过令人沮丧的数小时尝试解决此问题后,我愚蠢地删除了所有 mysql 文件。 目前:

我试过 dpkg -l | grep mysql,一无所获

所以我尝试了 dpkg -l | grep mysql 并得到,

mysql-client-8.0                install
mysql-client-core-8.0           install
mysql-common                    install
mysql-server-8.0                install
mysql-server-core-8.0           install
php7.4-mysql                    install

尝试删除 mysql-server-8.0 后:

sudo dpkg --remove --force-remove-reinstreq mysql-server-8.0

我得到:

(Reading database ... 219264 files and directories currently installed.)
Removing mysql-server-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: error processing package mysql-server-8.0 (--remove):
installed mysql-server-8.0 package pre-removal script subprocess 
returned error exit status 1
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
Failed to start mysql.service: Unit mysql.service not found.
invoke-rc.d: initscript mysql, action "start" failed.
Unit mysql.service could not be found.
dpkg: error while cleaning up:
installed mysql-server-8.0 package post-installation script subprocess 
returned error exit status 1
Errors were encountered while processing:
mysql-server-8.0

有没有办法解决这个问题并完全删除 mysql 然后安装 mariadb? 如果不是,我想解决这个问题的唯一方法是重新安装操作系统。 谢谢!!

最佳答案

经过一番寻找,我发现了另一个 post on ServerFault详细说明了安装脚本的问题。我遇到了同样的问题,在确保删除了所有 MySQL 文件后,我转到了 /var/lib/dpkg/info 并运行了 sudo rm -rf ./mysql-*。这样做之后你应该可以运行 sudo dpkg --remove --force-remove-reinstreq mysql-server-8.0 然后是 sudo dpkg --purge mysql-server-8.0 .

这是一个核选项,在您 100% 确定 MySQL 安装中不再有文件之前,我不建议您这样做。

关于mysql - 无法卸载 mysql-server-8.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65949014/

相关文章:

jax-ws - 如何使用 javac 替换 JDK 7 或 6 中已弃用的 wsgen 或 apt?

ansible - 如何使用 ansible 清理 apt 缓存?

php - 在 while 循环中调用 mysql PROCEDURE 只在第一次工作

mysql - 我可以在结果表中显示一对多结果吗?

带 Angular C++ HTTP 服务器(客户端上的 Typescript)

Java网络-如何永久禁止IP地址?

php - Symfony 在表单字段中验证电话

mysql - MySQL 查询中跳过天数的逻辑

php - Yii 2 的最低 PHP/服务器要求

linux - apt 工具无法解析主机名