Tendo problemas para instalar e remover o MySQL no Ubuntu


26

Estou com problemas para instalar ou remover o mysql-server-5.6 parcialmente instalado no ubuntu15.04. O erro que estou recebendo foi

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

Alguém pode me ajudar com isso?


Melhor pode remover e espero que uma reinstalação limpa seria bom, eu acho.
— Vembutech 01/07

Eu tentei este processo ainda tenho o problema, ou seja, i am ubable a desinstalação ou servidor reinstalação mysql
— Shameerariff

1
Eu tentei o meu nível melhor para descobrir a causa do problema. Eu removi os dados do arquivo de status do apt e atualizei o apt, onde notei que o sistema estava com problemas com a libgcc1 libc6. Estou tentando resolver o problema Manterá o status do post com base em minhas descobertas.
— Shameerariff

Respostas:


55

Tente fazer uma limpeza e, em seguida, reinstale.

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

Atualização 04.09.2018:
Se você tiver problemas para desinstalar / instalar porque o processo MySQL está ativo, tente isso primeiro e depois acima:
sudo kill $(pgrep mysql)


Eu tentei este processo ainda tenho o problema, ou seja, i am ubable a desinstalação ou servidor reinstalação mysql
— Shameerariff

As instruções originais removeram o metapacote, que não era uma opção. As novas instruções editadas funcionam com o 16.04.
— mrm

Trabalhou para mim no sistema operacional elementar.
— MChaker

2
Isso funcionou para mim somente depois que verifiquei ps -aef | grep mysqle enviei um sinal de interrupção para todas as variedades de mysqld em execução.
— Charney Kaye

12

Uma solução muito simples que eu (o linux noob) tive que desenterrar ... é criar o arquivo.

nano /etc/mysql/my.cnf.fallback

e preencha-o com o conteúdo padrão do pacote 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/

encontrado aqui em apt-browse.org


Essa é uma resposta melhor que a aceita, porque resolve o problema real sem ter que usar a abordagem da força bruta.
— devius 30/01

No meu caso, touch /etc/mysql/my.cnf.fallbackpassou-me a questão.
— Oalders

9

Limpar / Reinstalar também não funcionou para mim. Encontrei a seguinte "solução":

Não foi possível encontrar a mysql.cnf.fallbacklista nos "arquivos fornecidos" para mysql-server-5.6/ mysql-client-5.6nem qualquer informação adicional sobre o arquivo.

Copiei /etc/mysql/my.cnfpara /etc/mysql/my.cnf.fallback(supondo que esse teria sido um arquivo de configuração "fallback" relativamente menos importante);

/etc/mysql/my.cnfé um link simbólico, ls /etc/mysqlagora mostra:

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

A instalação do pacote foi concluída sem erros (já que provavelmente o problema "não existe" foi "resolvido").

Ainda não encontrei efeitos adversos.


Parece ótimo, mas você pode explicar o motivo do problema? Seria benéfico para os outros.
— Shameerariff 28/08/2015

5

Eu tive o mesmo problema ao tentar limpar o mysql-server (5.7.14).

Caso estejam faltando os arquivos my.cnf *, você pode reinstalar o pacote mysql-common e, posteriormente, pode limpar os dois ( mysql-server & mysql-common )

Estes arquivos my.cnf * pertencem ao pacote mysql-common (veja abaixo):

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


1. Reinstale o mysql-common

apt-get install --reinstall mysql-common

  1. Limpe o mysql-common

apt-get purge mysql-common


1

Verifiquei minha /etc/mysql/pasta e a encontrei completamente vazia, exceto por uma subpasta vazia 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

então (cortesia deste link, este link )

sudo dpkg --configure -a

e agora tudo parece bem.

O link acima também menciona, --force-dependsmas eu não precisava disso. Também menciona, apt-get -f installmas novamente eu não precisava disso.


Este foi exatamente o meu problema. Isso consertou para mim.
— Dave Kincaid

0

Conforme observado por charneykaye nos comentários, essa abordagem pode falhar se houver alguns mysqlprocessos em segundo plano. Eu usei:

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

Matou os três primeiros processos (o último é a grepchamada em si!) Usando:

kill -9 6682 8883 7046

Em seguida, remova tudo mysqlrelacionado:

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

e instale:

apt install mysql-server

Então funcionou.

Versões:

  • Mint 18.1 (baseado no Ubuntu). Você precisará substituir aptpor apt-getoutras versões.

0

Encontrei uma solução fácil para isso:

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

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

E funciona!


0

Depois de tentar todas as respostas acima, eu consegui corrigir esse problema com:

sudo rm /etc/rc5.d/S03mysql

Em seguida, foi capaz de executar:

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

sudo apt-get -f instala o mysql-server --fix-missing --fix-broken

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.