Mysql-server-5.5 kann nicht installiert werden / die folgenden Pakete haben nicht erfüllte Abhängigkeiten


26

Ich bin ein Neuling hier, bitte trage es mit mir.

Ich benutze Ubuntu 14.04.

Ich habe versucht, mysql mit dem folgenden Befehl einzugeben:

mysql -u root -p

und ich habe die folgende Nachricht erhalten:

The program mysql can be found on the following packages:
* mysql-client-core-5.5 
* mariadb-client-core-5.5 
* mysql-client-core-5.6 
* percona-xtrabd-cluster-client-5.5 

Ich tippte dann ein:

sudo apt-get install mysql-client-core-5.6

Nachdem dies installiert war, versuchte ich erneut, eine Verbindung zu MySQL herzustellen:

mysql -u root -p

Ich habe dann die Fehlermeldung bekommen:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Nachdem ich online gesucht hatte, stellte ich fest, dass ich mysql server installieren musste und schrieb daher den folgenden Befehl

sudo apt-get install mysql-server

Ich bekam dann die Nachricht:

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:
 mysql-server : Depends: mysql-server-5.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Ich habe in der letzten Stunde online nach einer Lösung gesucht, aber andere Leute, die einen ähnlichen Fehler hatten, aber von einem Upgrade von MySQL und damit von einer solchen Lösung betroffen waren, waren für mich ineffektiv.


Probieren Sie sudo apt-get install --fix-missing --force
aroll605

Ich habe versucht , diese und es funktioniert. Ich bin mir nicht ganz sicher, ob es dir helfen kann.
Ai Kudou

Antworten:


42

Öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo apt-get purge mysql-client-core-5.6
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt install mysql-client-core-5.5
sudo apt install mysql-server  

Sowohl der MySQL-Datenbank-Core-Client als auch die MySQL-Server-Pakete haben dieselbe Version 5.5. MySQL Client 5.5 und MySQL Server 5.5 sind die aktuell "besten" Versionen dieser Pakete in Ubuntu 14.04, wie von den Paketbetreuern festgelegt. Wenn Sie lieber MySQL Client 5.6 und MySQL Server 5.6 installieren möchten, finden Sie die Pakete mysql-client-core-5.6 und mysql-server-5.6 auch im Ubuntu Software Center. Wichtig ist, dass die Versionsnummern von Client und Server in beiden Fällen übereinstimmen.

In Ubuntu 16.04 und 18.04 lauten die Namen dieser beiden Pakete mysql-client-core-5.7 und mysql-server-5.7.


Nein, das gleiche Zeug mysql-server : Depends: mysql-server-5.5 but it is not going to be installed. E: Unable to correct problems, you have held broken packages.
Toolkit

@Toolkit Beheben Sie diesen Fehler wie folgt: E: Probleme können nicht behoben werden, Sie haben defekte Pakete in Ubuntu 16.04 gehalten. Es handelt sich um mysql-client-core-5.7 und mysql-server-5.7.
Karl

8

Der folgende Befehl hat mein Problem gelöst.

sudo aptitude install mysql-server

Wenn aptitude nicht auf Ihrem Computer installiert ist, installieren Sie aptitude zuerst mit dem folgenden Befehl.

sudo apt-get install aptitude

Imho, das wird das Problem nicht lösen. Siehe Erklärung von @karel.
Jonas Gröger

1
Es hat das Problem für mich gelöst und @ karel's nicht.
acsadam0404

1

Ich habe dieses Problem mit Synaptic Package Manager gelöst.

Ich habe herausgefunden, dass ich in meinem Fall verschiedene Versionen von MySQL common, server und client side verwende.

Insbesondere habe ich häufig ein mariabdRepository verwendet, um die Datei abzurufen. Ich habe dies über Paket> Version erzwingen in Synaptic geändert und für alle Pakete dieselbe Version (5.7.12) ausgewählt.

Ich hoffe das hilft.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.