很长一段时间后我尝试更新 Ubuntu 20.04,但由于一些 MySQL 错误而失败。我在网上搜索,建议的答案是rm
mysql 目录。我这样做了,但它仍然没有解决问题。
我试过dpkg --remove --force-all mysql-server-8.0
了,但它说:
Unit mysql.service could not be found. dpkg: error while cleaning up:
...post-installation script subprocess returned error
apt purge/upgrade/remove 失败
The package mysql-server-8.0 needs to be reinstalled
我不记得安装了 MySQL,但即使我安装了,我也不需要 MySQL。我根本不在乎。我怎样才能完全核对 MySQL 并重新开始工作?
test@ubuntu:~$ sudo apt install --reinstall mysql-server-8.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: The package mysql-server-8.0 needs to be reinstalled, but an archive for it can't be found.
test@ubuntu: $ sudo apt purge mysql-server-8.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: The package mysql-server-8.0 needs to be reinstalled, but an archive for it can't be found.
test@ubuntu:~$ sudo apt install mysql-server --reinstall
Reading state information... Done
Reading package lists... Done
Building dependency tree
E: The package mysql-server-8.0 needs to be reinstalled, but an archive for it can't be found.
~$ sudo apt purge mysql-server-core-8.0 -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
galera-3 libaio1 libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl
libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl
libhtml-template-perl libllvm10 libllvm11 libmecab2 libreadline5
libterm-readkey-perl linux-headers-5.4.0-42 linux-headers-5.4.0-42-generic
linux-image-5.4.0-42-generic linux-modules-5.4.0-42-generic
linux-modules-extra-5.4.0-42-generic mecab-ipadic mecab-ipadic-utf8
mecab-utils socat
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED
mysql-server-8.0* mysql-server-core-8.0*
0 to upgrade, 0 to newly install, 2 to remove and 3 not to upgrade.
1 not fully installed or removed.
After this operation, 137 MB disk space will be freed.
Do you want to continue? [Y/n]
dpkg: error processing package mysql-server-8.0 (--remove):
package is in a very bad inconsistent state; you should
reinstall it before attempting a removal
dpkg: too many errors, stopping
Errors were encountered while processing:
mysql-server-8.0
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
和
$ sudo dpkg -i --force-all mysql-server-8.0_8.0.27-0ubuntu0.20.04.1_amd64.deb
(Reading database ... 471728 files and directories currently installed.)
Preparing to unpack mysql-server-8.0_8.0.27-0ubuntu0.20.04.1_amd64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: warning: old mysql-server-8.0 package pre-removal script subprocess returned error exit status 1
dpkg: trying script from the new package instead ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: error processing archive mysql-server-8.0_8.0.27-0ubuntu0.20.04.1_amd64.deb (--install):
new 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 preset unit: File mysql.service: Link has been severed
/usr/bin/deb-systemd-helper: error: systemctl preset failed on mysql.service: No such file or directory
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_8.0.27-0ubuntu0.20.04.1_amd64.deb
如果找不到 Mysql 的存档,请尝试手动安装存档。
首先,尝试下载 deb 文件是否有效:
现在,使用
dpkg
编译存档:如果上述方法不起作用,请尝试:
首先,单击此处,将开始下载一个 deb 文件。
之后使用
dpkg -i
命令安装.deb
文件。我不确定,但您也可以运行以下命令来下载 deb 并安装它:
之后,运行上面的:
如果上述方法不起作用,那么
purge
MySQL:这是删除 MySQL 的另一种方法:
如果以上所有方法都不起作用,那么最后一件事是:
首先,将内容更改
/etc/apt/sources.list
为:然后运行
apt update
:如果那也不起作用
如果上述方法不起作用,那么我建议重新安装 Ubuntu。