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.