Probleme beim Installieren und Entfernen von MySQL in Ubuntu


26

Ich habe Probleme beim Installieren oder Entfernen des teilweise installierten mysql-server-5.6 in Ubuntu15.04. Der Fehler, den ich erhalte, war

$ sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  mysql-server-5.6
The following packages will be upgraded:
  mysql-server-5.6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
22 not fully installed or removed.
Need to get 0 B/5,501 kB of archives.
After this operation, 50.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
Setting up mysql-common (5.6.24-0ubuntu2) ...
update-alternatives: error: alternative path                 /etc/mysql/my.cnf.fallback doesn't exist
dpkg: error processing package mysql-common (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 mysql-common
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB
localepurge: Disk space freed in /usr/share/doc/kde/HTML: 0 KiB

Total disk space freed by localepurge: 0 KiB

E: Sub-process /usr/bin/dpkg returned an error code (1)

Kann mir jemand dabei helfen?


Besser kann man entfernen und hoffentlich wäre eine saubere Neuinstallation in Ordnung, denke ich.
Vembutech

Ich habe versucht, diesen Prozess noch ich habe das Problem, dh ich bin ubable zu deinstallieren oder neu zu installieren MySQL-Server
Shameerariff

1
Ich habe mein Bestes versucht, um die Ursache für das Problem herauszufinden. Ich habe die Daten aus der Apt-Statusdatei entfernt und das Apt aktualisiert. Dabei ist mir aufgefallen, dass das System das Problem mit libgcc1 libc6 hat. Ich versuche, das Problem zu lösen. Ich werde den Status basierend auf meinen Ergebnissen weiterhin veröffentlichen.
Shameerariff

Antworten:


55

Führen Sie eine Bereinigung durch, und installieren Sie sie erneut.

sudo apt-get remove --purge mysql-\*
sudo apt-get install mysql-server mysql-client

Update 04.09.2018:
Wenn Sie Probleme beim Deinstallieren / Installieren haben, weil der MySQL-Prozess aktiv ist, können Sie dies zuerst versuchen, dann oben:
sudo kill $(pgrep mysql)


Ich habe versucht, diesen Prozess noch ich habe das Problem, dh ich bin ubable zu deinstallieren oder neu zu installieren MySQL-Server
Shameerariff

Die ursprünglichen Anweisungen entfernten das Metapaket, das ein No-Op war. Die neu bearbeiteten Anweisungen funktionieren mit 16.04.
mrm

Arbeitete für mich am elementaren Betriebssystem.
MChaker

2
Dies funktionierte für mich erst, nachdem ich ps -aef | grep mysqlalle Arten von mysqld überprüft und ein Kill-Signal an sie gesendet hatte.
Charney Kaye

12

Eine sehr einfache Lösung, die ich (der Linux-Noob) ausgraben musste ... ist, die Datei zu erstellen.

nano /etc/mysql/my.cnf.fallback

und füllen Sie es mit dem Standardinhalt aus dem mysql-common 5.7.11-0ubuntu6-Paket.

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

!includedir /etc/mysql/conf.d/

fand hier bei apt-browse.org


Dies ist eine bessere Antwort als die bekannte, da hierdurch das eigentliche Problem behoben wird, ohne dass der Brute-Force-Ansatz verwendet werden muss.
Devius

In meinem Fall touch /etc/mysql/my.cnf.fallbackhabe ich das Problem überwunden.
Oalders

9

Bereinigen / Neuinstallieren hat auch bei mir nicht geklappt. Ich habe folgende "Lösung" gefunden:

Ich konnte mysql.cnf.fallbackin den "zur Verfügung gestellten Dateien" keine Auflistung für mysql-server-5.6/ finden.mysql-client-5.6 noch eine zusätzliche Informationen über die Datei.

Ich habe /etc/mysql/my.cnfnach kopiert /etc/mysql/my.cnf.fallback( ich vermute, dass dies eine relativ weniger wichtige "Fallback" -Konfigurationsdatei gewesen wäre);

/etc/mysql/my.cnfist ein Symlink, so ls /etc/mysqlzeigt jetzt:

 my.cnf.fallback -> /etc/alternatives/my.cnf
 my.cnf -> /etc/alternatives/my.cnf

Die Installation des Pakets wurde dann fehlerfrei abgeschlossen (da vermutlich das Problem "nicht vorhanden" "behoben" wurde).

Ich bin (noch) nicht auf Nebenwirkungen gestoßen.


Das hört sich gut an, aber können Sie den Grund für das Problem erklären, es wäre für andere von Vorteil.
Shameerariff

5

Ich hatte das gleiche Problem beim Versuch, mysql-server (5.7.14) zu löschen.

Falls die my.cnf * -Dateien fehlen, können Sie das Paket mysql-common erneut installieren und anschließend beide löschen ( mysql-server & mysql-common ).

Diese my.cnf * -Dateien gehören zum Paket mysql -common (siehe unten):

$ dpkg -L mysql-common | grep cnf
/etc/mysql/my.cnf.fallback
/etc/mysql/conf.d/mysql.cnf


1. Installieren Sie mysql-common erneut

apt-get install --installiere mysql-common erneut

  1. Löschen Sie mysql-common

apt-get lösche mysql-common


1

Ich habe meinen /etc/mysql/Ordner überprüft und festgestellt, dass er, abgesehen von einem leeren Unterordner, vollständig leer ist conf.d.

cd /etc/
# you need to delete the empty mysql folder otherwise the ln below creates the link inside the existing mysql folder
sudo rm -r mysql
sudo ln -s ./mysql.bak/ mysql

dann (mit freundlicher Genehmigung dieses Links diesen Link )

sudo dpkg --configure -a

und jetzt scheint alles in Ordnung.

Der Link oben erwähnt auch, --force-dependsaber ich brauchte das nicht. Es wird auch erwähnt, apt-get -f installaber das habe ich wieder nicht gebraucht.


Das war genau mein Problem. Das hat es für mich behoben.
Dave Kincaid

0

Wie von charneykaye in den Kommentaren erwähnt, kann dieser Ansatz fehlschlagen, wenn sich mysqlim Hintergrund einige Prozesse befinden. Ich benutzte:

emil-mint-desktop ~ # ps -aef | grep mysql
root      6682     1  0 16:45 ?        00:00:00 sudo mysqld_safe --skip-grant-tables
root      6683  6682  0 16:45 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     7046  6683  0 16:45 ?        00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --log-syslog=1 --log-syslog-facility=daemon --log-syslog-tag=
root     21046  9812  0 17:32 pts/5    00:00:00 grep --color=auto mysql

Beendet die ersten 3 Prozesse (der letzte ist der grepAufruf selbst!) Mit:

kill -9 6682 8883 7046

Dann entfernen Sie alles, was mysqldamit zusammenhängt:

apt remove --purge mysql-\*
apt autoremove
apt autoclean

und dann installieren:

apt install mysql-server

Dann hat es geklappt.

Versionen:

  • Mint 18.1 (basierend auf Ubuntu). Sie ersetzen müssen aptfür apt-geteinige andere Versionen.

0

Ich habe eine einfache Lösung dafür gefunden:

Erster Schritt: apt-get install mysql-common --reinstall

Zweiter Schritt: apt-get install mysql-server --reinstall

Und es funktioniert!


0

Nachdem ich alle Antworten oben ausprobiert hatte, konnte ich dieses Problem beheben mit:

sudo rm /etc/rc5.d/S03mysql

Dann konnte laufen:

sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7

sudo apt-get -f installiere mysql-server --fix-missing --fix-broken

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.