我尝试过多次从系统中彻底删除 MySQL,但都没有成功。我收到以下错误:
我还尝试了其他命令,但没有成功。我该怎么办?
以下是输出apt list --installed | grep mysql
:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
default-libmysqlclient-dev/focal,now 1.0.5ubuntu2 amd64 [installed]
libmysqlclient-dev/focal-updates,focal-security,now 8.0.28-0ubuntu0.20.04.3 amd64 [installed]
libmysqlclient21/focal-updates,focal-security,now 8.0.28-0ubuntu0.20.04.3 amd64 [installed]
libmysqlclient21/focal-updates,focal-security,now 8.0.28-0ubuntu0.20.04.3 i386 [installed]
libpocodatamysql62/focal,now 1.9.2-3ubuntu3 amd64 [installed]
mysql-client-8.0/focal-updates,focal-security,now 8.0.28-0ubuntu0.20.04.3 amd64 [installed]
mysql-client-core-8.0/focal-updates,focal-security,now 8.0.28-0ubuntu0.20.04.3 amd64 [installed]
mysql-common/focal,focal,now 5.8+1.0.5ubuntu2 all [installed]
mysql-server-8.0/now 8.0.27-0ubuntu0.20.04.1 amd64 [installed,upgradable to: 8.0.28-0ubuntu0.20.04.3]
mysql-server-core-8.0/focal-updates,focal-security,now 8.0.28-0ubuntu0.20.04.3 amd64 [installed]
我在这里/var/lib/dpkg/info/
搜索“mysql”,看到以下文件:
我应该删除它们吗?或者这是一个坏主意?如果我删除它们,我是否可以卸载与 MySQL 相关的所有内容?
使用此命令:
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
我收到此错误:
答案1
要完全删除包,我们可以使用apt purge
带有参数的命令,例如--autoremove
清除依赖项及其父包。对于您的具体情况,我认为它不会apt purge
起作用,因为dpkg
预安装脚本会抛出错误。似乎您已经手动删除了一些文件或目录。
- 使用
dpkg
带有-P
参数的命令强制清除包。
用于强制清除包。
由于删除软件包可能会造成破坏,因此请打印将要删除的软件包列表:
dpkg -l | awk '{print $2}' | grep -i mysql | grep -v lib
检查是否有任何重要软件包被删除。如果一切正常,请继续执行步骤 2。
清除包:
sudo dpkg -P --force-all $(dpkg -l | awk '{print $2}' | grep -i mysql | grep -v lib)
这应该会完全删除 MySQL。然后运行强制安装:
sudo apt -f install