¿Cómo elimino completamente mysql-server en Debian?

13

Pensé en compartir mi pregunta aquí y luego responderla, ya que parece que hay muchas personas atrapadas en mi posición, pero no hay una respuesta definitiva. El problema es que si apt-get remove mysql-server, no limpia los archivos de configuración y de base de datos, por lo que si de alguna manera los arruinó, la instalación nuevamente no los reemplazará. Entonces parece que hay muchas personas preguntando "¿cómo elimino completamente mysql-server, para poder reinstalar uno nuevo?" - todos responden con apt-get remove --purge mysql-server- No estoy seguro de por qué, pero esto no se desinstala por completo. Mi respuesta sigue ...

Nick Bolton
fuente

Respuestas:

19

eliminar mysql-server no funciona porque mysql-server es solo un metapaquete que depende de la versión específica del servidor

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

o

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

Hará el truco.

Justin
fuente
Gracias por el consejo. No sabía que se pudieran usar comodines.
Nick Bolton
en realidad es una expresión regular, por lo tanto, '. *' en lugar de simple ' '. Si trataste de eliminar mysql- solo coincidiría con un paquete llamado como mysql ----------- que no es muy útil :-)
Justin
como se menciona a continuación, querrá desconfiar de mysql-common, que es utilizado por algunos bits y piezas (dovecot springs a la mente).
Frenchie
1
Ah, sí, regex no comodín - ¡Uy!
Nick Bolton
Tenía MySQL 5.5 instalado en mi raspbian jessie. Después de una actualización, no sé por qué, pero se dejó mal configurado, lo que impidió que se desinstalara correctamente. Su respuesta eliminó completamente el servidor mysql 5.5 y pude actualizar. Tenga en cuenta que perderá los archivos de configuración (¿bases de datos?) Si no realiza copias de seguridad.
russellhoff
2

Esto funcionó para mí (también intenté instalar v5.0, pero esto empeoró las cosas):

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

Creo que la clave aquí es eliminar mysql-common, pero no estoy seguro. Por favor intente esto y deje sus comentarios.

Nick Bolton
fuente
Si está utilizando 5.0 y superior, entonces apt-get purge ...es lo mismo queapt-get --purge remove ...
Zoredache
1

Tuve algunos problemas con eso. Incluso después de eliminar todos los paquetes del servidor, hay algunos archivos de configuración instalados mysql-common, lo cual es una dependencia de libmysqlclient.

Intente usar dpkg -S /etc/mysqlpara ver qué paquetes están instalando esos archivos.

Jorge Bernal
fuente
0

También puede usar dpkg -P para lograr esto

Desde la página de manual de dpkg

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