Problemi con l'installazione e la rimozione di MySQL in Ubuntu


26

Ho dei problemi con l'installazione o la rimozione del mysql-server-5.6 parzialmente installato in ubuntu15.04. L'errore che sto ricevendo è stato

$ 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)

Qualcuno può aiutarmi in questo?


Meglio rimuovere e spero che una reinstallazione pulita andrebbe bene, penso.
— vembutech,

Ho provato questo processo ancora ho il problema, cioè sono in grado di disinstallare o reinstallare il server mysql
— Shameerariff

1
Ho fatto del mio meglio per scoprire la causa del problema. Ho rimosso i dati dal file di stato di apt e aggiornato l'app, dove ho notato che il sistema sta riscontrando il problema con libgcc1 libc6. Sto cercando di risolvere il problema Manterrò lo stato in base ai miei risultati.
— Vergognati il

Risposte:


55

Prova a fare uno spurgo, quindi reinstalla.

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

Aggiornamento del 04.09.2018:
se si verificano problemi durante la disinstallazione / installazione perché il processo MySQL è attivo, è possibile provare prima, quindi sopra:
sudo kill $(pgrep mysql)


Ho provato questo processo ancora ho il problema, cioè sono in grado di disinstallare o reinstallare il server mysql
— Shameerariff

Le istruzioni originali hanno rimosso il metapacchetto, che non era operativo. Le nuove istruzioni modificate funzionano con 16.04.
— sig.

Ha funzionato per me su OS elementare.
— MChaker,

2
Questo ha funzionato per me solo dopo aver controllato ps -aef | grep mysqle inviato un segnale di uccisione a tutte le varietà di mysqld in esecuzione.
— Charney Kaye,

12

Una soluzione molto semplice che io (il noob di Linux) ho dovuto scavare ... è creare il file.

nano /etc/mysql/my.cnf.fallback

e riempilo con il contenuto predefinito dal pacchetto mysql-common 5.7.11-0ubuntu6.

#
# 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/

trovato qui su apt-browse.org


Questa è una risposta migliore di quella accettata perché risolve il problema reale senza dover usare l'approccio della forza bruta.
— devius

Nel mio caso touch /etc/mysql/my.cnf.fallbackmi ha fatto superare il problema.
— Oalders,

9

Anche Purge / Reinstall non ha funzionato per me. Ho trovato la seguente "soluzione":

Non sono riuscito a trovare mysql.cnf.fallbackelencati nei "file forniti" per mysql-server-5.6/ mysql-client-5.6né eventuali informazioni aggiuntive sul file.

Ho copiato /etc/mysql/my.cnfa /etc/mysql/my.cnf.fallback(indovinando che questo sarebbe stato un relativamente meno importante "di ripiego" file di configurazione);

/etc/mysql/my.cnfè un collegamento simbolico, quindi ls /etc/mysqlora mostra:

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

L'installazione del pacchetto è stata quindi completata senza errori (poiché presumibilmente il problema "non esiste" è stato "risolto").

Non ho ancora riscontrato effetti avversi.


Sembra fantastico, ma puoi spiegare il motivo del problema, sarebbe utile per gli altri.
— Shameerariff,

5

Ho avuto lo stesso problema durante il tentativo di eliminare mysql-server (5.7.14).

Se mancano i file my.cnf *, è possibile reinstallare il pacchetto mysql-common e, successivamente, è possibile eliminare entrambi ( mysql-server e mysql-common )

Questi file my.cnf * appartengono al pacchetto mysql-common (vedi sotto):

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


1. Reinstalla mysql-common

apt-get install --reinstall mysql-common

  1. Elimina mysql-common

apt-get purge mysql-common


1

Ho controllato la mia /etc/mysql/cartella e l'ho trovata completamente vuota a parte una sottocartella vuota 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

quindi (per gentile concessione di questo link questo link )

sudo dpkg --configure -a

e ora tutto sembra a posto.

Anche il link sopra menziona --force-dependsma non ne avevo bisogno. Menziona anche apt-get -f installma di nuovo non ne avevo bisogno.


Questo era esattamente il mio problema. Questo mi ha risolto.
— Dave Kincaid,

0

Come notato da charneykaye nei commenti, questo approccio può fallire se ci sono alcuni mysqlprocessi in background. Ero solito:

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

Hai ucciso i primi 3 processi (l'ultimo è la grepchiamata stessa!) Usando:

kill -9 6682 8883 7046

Quindi rimuovere tutto ciò che mysqlriguarda:

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

e quindi installare:

apt install mysql-server

Quindi ha funzionato.

versioni:

  • Menta 18.1 (basato su Ubuntu). Sarà necessario sostituire aptper apt-getper alcune altre versioni.

0

Ho trovato una soluzione semplice per questo:

Primo passo: apt-get install mysql-common --reinstall

Secondo passo: apt-get install mysql-server --reinstall

E funziona!


0

Dopo aver provato tutte le risposte sopra sono stato in grado di risolvere questo problema con:

sudo rm /etc/rc5.d/S03mysql

Quindi è stato in grado di eseguire:

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.