Vérifiez si mySql est installé sur le serveur

10

Existe-t-il un moyen de déterminer si mySql a été installé sur un serveur Linux?

Elitmiar
la source
Si vous devez voter contre cette question, dites-moi pourquoi?
Elitmiar
Probablement parce que vous n'avez pas bien posé votre question. Voici la façon de facto de bien faire les choses: catb.org/~esr/faqs/smart-questions.html
pboin

Réponses:

12

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é.

Dave Drager
la source
En supposant qu'il se trouve dans le chemin ou le répertoire courant.
squillman
En supposant également qu'il n'a pas été compilé pour utiliser un nom différent! :)
Dave Drager
2

Quelle version de linux?

Debian dpkg -l 'mysql *'

Ryaner
la source
1

Que diriez-vous rpm -q mysql(Fedora / RedHat)

Satanicpuppy
la source
rpm -qa | grep mysql est probablement plus sûr puisque le paquet principal est mysql-server
Ophidian
1

Outre les bonnes suggestions ci-dessus, essayez:

locate mysqld_safe

ou

ls /etc/init.d | grep mysql

Si vous pensez qu'il pourrait déjà fonctionner, essayez:

ps waxu | grep mysql

ou

netstat -pan | grep mysql
Twirrim
la source
0

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.

Tim Post
la source
-1

La façon la plus simple et la plus distro-agnostique de répondre à votre question est;

find / -name mysql
Michael Pobega
la source