Verifique se o mySql está instalado no servidor

10

Existe uma maneira de determinar se o mySql foi instalado em um servidor Linux?

Elitmiar
fonte
Se você precisar cancelar esta pergunta, por favor me diga por que?
Elitmiar 30/09/09
Provavelmente porque você não fez sua pergunta bem. Aqui está a maneira de facto fazê-lo direito: catb.org/~esr/faqs/smart-questions.html
pboin

Respostas:

12

Supondo que você esteja procurando um binário mysql instalado com um pacote típico, execute o comando:

mysql

ou

mysql --version

Se ele retornar com uma resposta, ele está instalado, se diz "comando não encontrado", não está instalado.

Dave Drager
fonte
Supondo que ele esteja no caminho ou no diretório atual.
squillman
Também assumindo que não foi compilado para usar um nome diferente! :)
Dave Drager
2

Qual versão do linux?

Debian dpkg -l 'mysql *'

Ryaner
fonte
1

Que tal rpm -q mysql(Fedora / RedHat)

Satanicpuppy
fonte
rpm -qa | grep mysql é provavelmente mais seguro desde que o pacote principal é mysql-server
Ophidian
1

Além das boas sugestões acima, tente:

locate mysqld_safe

ou

ls /etc/init.d | grep mysql

Se você acha que já pode estar em execução, tente:

ps waxu | grep mysql

ou

netstat -pan | grep mysql
Twirrim
fonte
0

Em todas as distribuições que eu conheço, o MySQL instala algumas bibliotecas compartilhadas para seu cliente, denominadas apropriadamente limbysqlclient. Você pode verificar isso usando a ferramenta ldconfig, que consultará para ver se o objeto está instalado:

ldconfig -p | grep mysqlclient
        libmysqlclient_r.so.15 (libc6) => /usr/lib/libmysqlclient_r.so.15
        libmysqlclient_r.so.14 (libc6) => /usr/lib/libmysqlclient_r.so.14
        libmysqlclient_r.so.12 (libc6) => /usr/lib/libmysqlclient_r.so.12
        libmysqlclient_r.so.10 (libc6) => /usr/lib/libmysqlclient_r.so.10
        libmysqlclient_r.so (libc6) => /usr/lib/libmysqlclient_r.so
        libmysqlclient.so.15 (libc6) => /usr/lib/libmysqlclient.so.15
        libmysqlclient.so.14 (libc6) => /usr/lib/libmysqlclient.so.14
        libmysqlclient.so.12 (libc6) => /usr/lib/libmysqlclient.so.12
        libmysqlclient.so.10 (libc6) => /usr/lib/libmysqlclient.so.10
        libmysqlclient.so (libc6) => /usr/lib/libmysqlclient.so

Isso indica que há uma chance muito boa de que o MySQL esteja instalado. É muito raro alguém instalar apenas os objetos compartilhados, sem instalar pelo menos o cliente. Agora, verifique a existência do cliente e servidor reais:

root@tower:~ # which mysqld_safe
/usr/bin/mysqld_safe
root@tower:~ # which mysql
/usr/bin/mysql
root@tower:~ #

O programa `what 'pode não estar instalado, portanto verifique-o via:

root@tower:~ # which which
/usr/bin/which

Espero que isto ajude. A falta de consultar o gerenciador de pacotes (um pouco difícil de fazer em um script, se você tiver muitos sistemas executando distribuições diferentes), parece uma maneira muito confiável de saber.

Tim Post
fonte
-1

A maneira mais fácil e mais independente de responder à sua pergunta é;

find / -name mysql
Michael Pobega
fonte