Existe-t-il un moyen de déterminer si mySql a été installé sur un serveur Linux?
Existe-t-il un moyen de déterminer si mySql a été installé sur un serveur Linux?
Réponses:
En supposant que vous recherchez un binaire mysql installé avec un package typique, exécutez la commande:
mysql
ou
mysql --version
S'il revient avec une réponse, il est installé, s'il dit "commande introuvable" alors il n'est pas installé.
Que diriez-vous rpm -q mysql
(Fedora / RedHat)
Sur chaque distribution que je connais, MySQL installe des bibliothèques partagées pour son client, nommées de manière appropriée limbysqlclient. Vous pouvez vérifier cela en utilisant l'outil ldconfig, qui interrogera pour voir si l'objet est installé:
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
Cela vous indique qu'il y a de très bonnes chances que MySQL soit installé. Il est très rare que quelqu'un installe uniquement les objets partagés, sans installer au moins le client. Maintenant, vérifiez l'existence du client et du serveur réels:
root@tower:~ # which mysqld_safe
/usr/bin/mysqld_safe
root@tower:~ # which mysql
/usr/bin/mysql
root@tower:~ #
Le programme `which 'peut ne pas être installé, alors vérifiez-le via:
root@tower:~ # which which
/usr/bin/which
J'espère que cela t'aides. À moins d'interroger le gestionnaire de paquets (un peu difficile à faire dans un script si vous avez plusieurs systèmes exécutant différentes distributions), cela semble être un moyen très fiable de le savoir.
La façon la plus simple et la plus distro-agnostique de répondre à votre question est;
find / -name mysql