在 Linux 系统上删除 mysql-server-8.0 时出错

在 Linux 系统上删除 mysql-server-8.0 时出错

您好,我的 mysql 安装已损坏,我无法卸载或重新安装它们,我陷入了困境。

操作系统:POP Os 20.04 LTS

Mysql:mysql Ver 8.0.21-0ubuntu0.20.04.4 适用于 x86_64 上的 Linux ((Ubuntu))

问题

我已经正确安装了 mysql 并开始在本地环境中使用它们,但如果我想用这个命令连接到 mysql:mysql -u root -p我遇到了错误:cant connect with 'root'@'localhost',如果我使用sudo mysql -u root -p一切正常。如果我要在 laravel 中使用 mysql 进行推送迁移,我需要使用sudo php artisan migrate而不是php artisan migrate我已经按照这些链接尝试解决我的问题stackoverflow.com/a/38722661/4575350stackoverflow.com/a/15039113/4575350对我来说没什么用,如果我删除 mysql 安装,每次都会出现同样的错误:

user@pc-master : sudo apt remove mysql-server-8.0

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  mysql-server mysql-server-8.0
0 mis à jour, 0 nouvellement installés, 2 à enlever et 0 non mis à jour.
2 partiellement installés ou enlevés.
Après cette opération, 1 565 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] o
(Lecture de la base de données... 241161 fichiers et répertoires déjà installés.)
Suppression de mysql-server (8.0.21-0ubuntu0.20.04.4) ...

Progression : [  0%] [................................................................................................................................................................] 
Progression : [ 25%] [########################################........................................................................................................................] 
Suppression de mysql-server-8.0 (8.0.21-0ubuntu0.20.04.4) ...#########################################................................................................................] 
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: erreur de traitement du paquet mysql-server-8.0 (--remove) :
 installed mysql-server-8.0 package pre-removal script subprocess returned error exit status 1
dpkg: trop d'erreurs, arrêt
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
Des erreurs ont été rencontrées pendant l'exécution :
 mysql-server-8.0
L'exécution a été arrêtée car il y avait trop d'erreurs.
E: Sub-process /usr/bin/dpkg returned an error code (1)

我遵循的步骤出现此错误:

  • 安装mysql:sudo apt install mysql-server mysql-client
  • 安装 php 扩展:sudo apt install php-pdo php-mysql

之后我遇到了这个错误,所以我使用了这些命令:

  • 删除 mysql:sudo apt remove mysql-server-8.0 mysql-client
  • 清除mysql:sudo apt purge mysql-server-8.0 mysql-client
  • 自动删除未使用的依赖项:sudo apt autoremovesudo apt clean
  • 我也尝试过:dpkg -r mysql-clientmysql-server-8.0

我执行的每个命令都不起作用,我遇到了同样的错误:

dpkg : error while cleaning up:
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 mysql-server-8.0
L'exécution a été arrêtée car il y avait trop d'erreurs.
E: Sub-process /usr/bin/dpkg returned an error code (1)

之前使用 mysql 时,我安装了root 用户,mariadb-servermariadb-client遇到了同样的问题,但 mariadb 已被正确删除

我已经删除了/etc/mysql文件夹,并且/var/lib/mysql我删除了这些文件夹以解决我的问题,但我认为这给我带来了另一个问题,我有/usr/bin/mysql

答案1

我使用这些命令修复了这个问题:

查找损坏的包裹: dpkg --configure -a

dpkg -P --force-all 'broken-package-to uninstall

相关内容