Como faço para remover completamente o MySQL de uma instalação linux?

8

Fiquei surpreso ao descobrir que um dos meus usuários privilegiados instalou o MySQL em uma caixa Linux. O servidor (mysqld) está rodando e não está fazendo nada. Minhas habilidades estão todas no Oracle, por isso não estou familiarizado com como desligar e remover a instalação do MySQL.

dacracot
fonte

Respostas:

21

Você não mencionou qual distribuição está usando, mas se eles a instalaram via yum em uma distribuição baseada em RedHat, você pode remover com:

yum remove mysql-server

Se eles o instalassem em seu próprio espaço de usuário, você apenas removeria os arquivos binários que estão executando o servidor. Se estiver no Debian / Ubuntu, você usaria as faíscas do método mencionadas. Eu também usaria:

killall mysqld; killall mysqld_safe
Dave Drager
fonte
4
É uma boa idéia adquirir o hábito de usar pkill em vez de killall. Você pode acabar em uma caixa Solaris um dia :) #
MikeyB
4
Eu prefiro /sbin/service mysql stop. Em seguida, você pode chkconfig mysql offdesativar o reinício. Em seguida, o meio à prova de falhas para remover de distribuições baseadas em RPM (como raiz) rpm -qa | grep mysql, em seguida rpm -e mysql-<package_name>.
churnd 14/10/2009
pkill mysqld; pkill mysqld_safefuncionou maravilhosamente. Tentativa killall mysqld; killall mysqld_safenão foi bem sucedida. No Fedora 18, tive sucesso com o pkill, obrigado MikeyB.
2141313 RyanMichael
Eu também tive que usar: yum remove mysql , como o comando que o mysql ainda está mostrando o caminho instalado do mysql.
Shasi kanth
6

Tudo depende de como o usuário original instalou o pacote. Se eles usaram o gerenciamento de pacotes embutido do sistema operacional, deve ser tão fácil quanto a linha yum na resposta de Dave ou em um sistema baseado no Debian (incluindo Ubuntu), você pode usar:

apt-get remove mysql-server

(Além disso, use a limpeza em vez de remover, se você também deseja remover arquivos de configuração personalizados)

Se você não souber o nome exato do pacote para remover no Ubuntu:

dpkg -l|grep mysql

Se o usuário em questão não usou uma ferramenta de gerenciamento de pacotes, a única solução real é simplesmente garantir que o servidor não seja carregado na inicialização (chkconfig ou update-rc.d são duas ferramentas úteis para isso - verifique seu manual páginas) e remova manualmente todos os arquivos instalados.


fonte
Ops, desculpe pela resposta ubuntu redundante - deixando-o para a sugestão chkconfig e update-rc.d ...)
Certifique-se de remover GUI ferramentas / bancada também no caso que está instalado: sudo apt-get remove mysql-bancada
pm_labs
2

Se o usuário configurou algum banco de dados, pode ser necessário removê-lo também. Na instalação básica do MySQL, os arquivos de tabela podem ser encontrados em /var/lib/mysql. Se eles estiverem em outro lugar, você pode simplesmente procurar os arquivos da tabela. Eles terão uma .frmextensão e devem estar contidos em um diretório com o nome do banco de dados ao qual estão associados.

rvf
fonte
1

Dependendo da sua distribuição, você deve ter a opção de desligá-la com um script init em "/etc/init.d/mysql stop". Se isso falhar, você pode matar os processos com algo semelhante a "for i in ps -ef |grep mysqld |awk '{print $2}'; do kill -9 $i; done"

Realmente vai depender de como eles o instalaram e de como você o removeu. Se você estiver executando uma distribuição baseada na debian: "sudo apt-get remove mysqld"

Pelo comentário de Zoredache, você também pode fazer: "sudo apt-get purge mysqld", que também removeria os arquivos de configuração.

Sclarson
fonte
11
Você pode querer 'apt-get purge' em vez de remover se quiser se livrar completamente de tudo. O nome do pacote provavelmente será 'mysql-server' e 'mysql-common' e não mysqld.
Zoredache
0

Talvez o próprio usuário não saiba que instalou o mysql. Isso pode acontecer se o mysql for uma dependência de algum outro programa. Dê uma olhada no arquivo de log do gerenciador de pacotes, por exemplo, para um redhat, verifique /var/log/yum.log. Você provavelmente encontrará mais alguns pacotes instalados ao mesmo tempo. Você pode deduzir o que o usuário queria fazer e talvez também queira remover alguns outros pacotes para não estar ciente da instalação!

Em um redhat recente, você pode, por exemplo, executar a "lista de histórico do yum" e, depois de encontrar a data da instalação em /var/log/yum.log, pode deduzir qual operação do yum estava relacionada à instalação do mysql e por exemplo "yum history info operation_number" para obter detalhes da instalação ou "yum history undo operation_number" para reverter a operação e desinstalar os pacotes relacionados.

Rosco
fonte
0

Talvez o próprio usuário não saiba que instalou o mysql. Isso pode acontecer se o mysql for uma dependência de algum outro programa. Dê uma olhada no arquivo de log do gerenciador de pacotes, por exemplo, para uma verificação redhat /var/log/yum.log. Você provavelmente encontrará mais alguns pacotes instalados ao mesmo tempo. Você pode deduzir o que o usuário queria fazer e talvez também queira remover alguns outros pacotes para não estar ciente da instalação!

md wajaheth
fonte