Como eu removo completamente o mysql-server no Debian?

13

Pensei em compartilhar minha pergunta aqui e depois responder, pois parece haver muitas pessoas presas na minha posição - mas nenhuma resposta definitiva. O problema é que, se você apt-get remove o mysql-server, ele não limpa os arquivos de configuração e de banco de dados; portanto, se você os estragou de alguma forma, a instalação novamente não os substituirá. Parece haver muitas pessoas perguntando "como faço para remover completamente o mysql-server, para que eu possa reinstalar um novo?" - todos respondem com apt-get remove --purge mysql-server- não sei por que, mas isso não desinstala completamente. Minha resposta segue ...

Nick Bolton
fonte

Respostas:

19

remover o mysql-server não funciona porque o mysql-server é apenas um metapacote que depende da versão específica do servidor

apt-get remove --purge 'mysql-.*'

ou

apt-get remove --purge 'mysql-server.*'

fará o truque.

Justin
fonte
Obrigado pela dica. Eu não sabia que curingas poderiam ser usados.
Nick Bolton
na verdade, é uma expressão regular, portanto, o '. *' em vez de simples ' '. Se você tentou remover mysql que só iria coincidir com um pacote chamado como mysql ----------- o que não é muito útil :-)
Justin
como mencionado abaixo, você deve ter cuidado com o mysql-common, que é usado por alguns bits e partes (o dovecot vem à mente).
31410 Frenchie
1
Ah, sim, regex não curinga - oops!
Nick Bolton
Eu tinha o mysql 5.5 instalado no meu raspbian jessie. Após uma atualização, não sei por que, mas ele foi configurado incorretamente, o que impediu que fosse desinstalado corretamente. Sua resposta removeu completamente o servidor mysql 5.5 e eu fui capaz de atualizar. Cuidado, você perderá os arquivos de configuração (bases de dados?) Se não fizer backups.
22717 russellhoff
2

Isso funcionou para mim (eu também tentei instalar a v5.0, mas isso piorou as coisas):

apt-get remove --purge mysql-server-5.0 mysql-common mysql-client-5.0 \
mysql-server-5.1 mysql-client-5.1 mysql-server mysql-client

apt-get install mysql-server

Eu acho que a chave aqui está removendo mysql-common- mas não tenho certeza. Por favor, tente isso e deixe seus comentários.

Nick Bolton
fonte
Se você estiver usando o 5.0 e superior, apt-get purge ...é o mesmo que:apt-get --purge remove ...
Zoredache
1

Eu tive alguns problemas com isso. Mesmo depois de remover todos os pacotes do servidor, existem alguns arquivos de configuração instalados por mysql-common, dos quais é uma dependência libmysqlclient.

Tente usar dpkg -S /etc/mysqlpara ver quais pacotes estão instalando esses arquivos.

Jorge Bernal
fonte
0

Você também pode usar o dpkg -P para conseguir isso

Na página do manual do dpkg

 -P or --purge removes everything, including configuration files.
Dominik
fonte