您好,我的 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/4575350和stackoverflow.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 autoremove
,sudo apt clean
- 我也尝试过:
dpkg -r mysql-client
,mysql-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-server
但mariadb-client
遇到了同样的问题,但 mariadb 已被正确删除
我已经删除了/etc/mysql
文件夹,并且/var/lib/mysql
我删除了这些文件夹以解决我的问题,但我认为这给我带来了另一个问题,我有/usr/bin/mysql
答案1
我使用这些命令修复了这个问题:
查找损坏的包裹:
dpkg --configure -a
和
dpkg -P --force-all 'broken-package-to uninstall