Existe uma maneira de determinar se o mySql foi instalado em um servidor Linux?
Existe uma maneira de determinar se o mySql foi instalado em um servidor Linux?
Respostas:
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.
Que tal rpm -q mysql(Fedora / RedHat)
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.
A maneira mais fácil e mais independente de responder à sua pergunta é;
find / -name mysql