Après la mise à niveau vers Ubuntu 16.04, j'ai remarqué que mysql avait des erreurs ahurissantes. Convaincu que c’était une configuration défectueuse, j’ai essayé d’effectuer une purge de mysql. Cela n'a pas semblé tout effacer, alors j'ai essayé de le faire moi-même:
Sudo rm -r /etc/mysql
Sudo rm -r /usr/share/mysql-workbench
Sudo rm -r /usr/share/mysql
Sudo rm -r /usr/share/mysql-common
C'était une erreur. N'essayez JAMAIS de faire cela. Maintenant, mysql ne sera même pas installé correctement. J'ai essayé de réinstaller les dépendances:
Sudo apt-get install --reinstall $(apt-cache depends mysql-server | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ' )
Et les paquets eux-mêmes:
Sudo apt install mysql-workbench mysql-server --reinstall
Mais je reçois toutes sortes d'erreurs cryptiques, telles que:
Sudo apt-get install --reinstall mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for mysql-server:AMD64
Et désinstaller
Sudo apt-get remove mysql-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libmysqlclient20 : Depends: mysql-common (>= 5.5) but it is not going to be installed
mariadb-client-core-10.0 : Depends: mariadb-common (>= 10.0.24-7) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Ou si je reconfigure
Sudo dpkg --configure -a
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.7; however:
Package mysql-server-5.7 is not configured yet.
dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-server-5.7
mysql-server
Ou si je force l'installation:
Sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.7; however:
Package mysql-server-5.7 is not configured yet.
dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ou si je fais une purge:
Sudo apt-get -f purge mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
mysql-server*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 159 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 348226 files and directories currently installed.)
Removing mysql-server (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
Est-il impossible de récupérer d'une installation partielle? Dois-je réinstaller le système d'exploitation?
Merci à @Videonauth
Sudo dpkg -r mysql-client-5.7
Sudo dpkg -r mysql-server-5.7
Sudo dpkg -r libmysqlclient20:i386
Sudo dpkg -r libmysqlclient20:AMD64
Sudo dpkg -r libmysqlclient18:AMD64
Sudo dpkg -r mysql-common
Puis en cours d'exécution:
Sudo apt-get purge mysql\* mariadb\* libmysql\* libmariadb\*
Si quelque chose échoue, exécutez simplement Sudo dpkg -r <failedpackage>
et si CELA échoue, supprimez simplement le paquet qui en dépend. Si vous répétez, éventuellement apt-get fonctionnera à nouveau.
Voir aussi Quelle est la différence entre dpkg et aptitude/apt-get?
Procédez comme suit pour nettoyer les paquets cassés:
Sudo apt-get clean
Sudo apt-get update
Sudo dpkg -r mysql-client-5.7
Sudo dpkg -r mysql-server-5.7
Sudo dpkg -r libmysqlclient20:i386
Sudo dpkg -r libmysqlclient20:AMD64
Sudo dpkg -r libmysqlclient18:AMD64
Sudo dpkg -r mysql-common
Sudo dpkg -r mysql
Après cela, réinstallez-le avec:
Sudo apt-get install mysql mysql-client* mysql-server*
Essaye ça,
lancez cette commande pour purger mysql, remplacez la version 5.7 par votre version installée
Sudo apt purge mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7 mysql-server
exécutez ceci pour nettoyer et mettre à jour les paquets
Sudo apt update && Sudo apt dist-upgrade && Sudo apt autoremove && Sudo apt -f install
enfin installer mysql
Sudo apt install mysql-server
cela a fonctionné pour moi.
Après avoir purgé mysql
comme indiqué ci-dessus, vous devez installer mysql de cette façon:
Sudo apt-get install mysql-common
Sudo apt-get install mysql-server
Lorsque vous installez de cette façon, vous ne rencontrerez pas d'erreur d'installation.
Je ne connais pas la raison exacte, mais toutes ces méthodes n'ont pas fonctionné pour moi. Dans mon cas, la procédure qui a corrigé le problème était la suivante:
Sudo apt-get purge mysql-*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get dist-upgrade
Sudo rm -rf /etc/mysql
Sudo rm -rf /var/lib/mysql*
et redémarrage!
enfin, j'ai pu exécuter Sudo apt-get install mysql-server
!
Cela a fonctionné pour moi
Sudo apt-get purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get dist-upgrade
puis après que j'ai installé à nouveau mysql avec
Sudo apt-get install mysql-server
et maintenant cela fonctionne bien.
La commande Sudo dpkg -r ne fonctionne pas pour moi ..
J'ai utilisé Sudo apt-get purge mysql-*
pour désinstaller toutes les pages répétées, puis les réinstaller.