it-swarm.com.de

Probleme beim Installieren und Entfernen von MySQL in Ubuntu

Ich habe Probleme beim Installieren oder Entfernen des teilweise installierten mysql-server-5.6 in Ubuntu 15.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?

25
Shameerariff

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/

gefunden hier bei apt-browse.org

11
user636300

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

Ich konnte mysql.cnf.fallback in den "zur Verfügung gestellten Dateien" für mysql-server-5.6/mysql-client-5.6 nicht finden, noch zusätzliche Informationen zu der Datei.

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

/etc/mysql/my.cnf ist ein Symlink, daher zeigt ls /etc/mysql 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.

9
Jungle Editor

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 mysql-common -Paket (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. mysql-common löschen

apt-get lösche mysql-common

5
ivanleoncz

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

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

then (mit freundlicher Genehmigung dieses Links this link )

Sudo dpkg --configure -a

und jetzt scheint alles in Ordnung.

Der Link oben erwähnt auch --force-depends, aber ich brauchte das nicht. Es erwähnt auch apt-get -f install, aber ich brauchte das wieder nicht.

1

Wie von charneykaye in den Kommentaren angemerkt, kann dieser Ansatz fehlschlagen, wenn sich im Hintergrund einige mysql 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 grep Aufruf selbst!) Mit:

kill -9 6682 8883 7046

Dann entfernen Sie alles, was mit mysql zu tun hat:

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 müssen apt für apt-get für einige andere Versionen einsetzen.
0
Deleet

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

Sudo rm /etc/rc5.d/S03mysql

Dann konnte laufen:

Sudo apt bereinigen MySQL-Server MySQL-Server-5.7 MySQL-Server-Core-5.7

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

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
alefen