Überprüfen Sie, ob mySql auf dem Server installiert ist


10

Gibt es eine Möglichkeit festzustellen, ob mySql auf einem Linux-Server installiert wurde?


Wenn Sie diese Frage ablehnen müssen, sagen Sie mir bitte warum?
Elitmiar

Wahrscheinlich, weil Sie Ihre Frage nicht gut gestellt haben. Hier ist der De-facto-Weg, um es richtig zu machen: catb.org/~esr/faqs/smart-questions.html
pboin

Antworten:


12

Angenommen, Sie suchen nach einer MySQL-Binärdatei, die mit einem typischen Paket installiert ist, führen Sie den folgenden Befehl aus:

mysql

oder

mysql --version

Wenn es mit einer Antwort zurückkommt, wird es installiert. Wenn "Befehl nicht gefunden" angezeigt wird, wird es nicht installiert.


Angenommen, es befindet sich im Pfad oder im aktuellen Verzeichnis.
Squillman

Angenommen, es wurde nicht kompiliert, um einen anderen Namen zu verwenden! :)
Dave Drager

2

Welche Version von Linux?

Debian dpkg -l 'mysql *'


1

Wie wäre es mit rpm -q mysql(Fedora / RedHat)


U / min -qa | grep mysql ist wahrscheinlich sicherer, da das Hauptpaket mysql-server ist
Ophidian

1

Versuchen Sie, abgesehen von den oben genannten guten Vorschlägen:

locate mysqld_safe

oder

ls /etc/init.d | grep mysql

Wenn Sie glauben, dass es bereits läuft, versuchen Sie Folgendes:

ps waxu | grep mysql

oder

netstat -pan | grep mysql

0

Auf jeder mir bekannten Distribution installiert MySQL einige gemeinsam genutzte Bibliotheken für seinen Client mit dem entsprechenden Namen limbysqlclient. Sie können dies mit dem Tool ldconfig überprüfen, das abfragt, ob das Objekt installiert ist:

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

Dies zeigt Ihnen, dass es eine sehr gute Chance gibt, dass MySQL installiert ist. Es ist sehr selten, dass jemand nur die freigegebenen Objekte installiert, ohne mindestens den Client zu installieren. Überprüfen Sie nun die Existenz des tatsächlichen Clients und Servers:

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

Das `which'-Programm ist möglicherweise nicht installiert. Überprüfen Sie es daher über:

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

Hoffe das hilft. Ohne den Paketmanager abzufragen (was in einem Skript schwierig ist, wenn auf vielen Systemen unterschiedliche Distributionen ausgeführt werden), scheint dies eine sehr zuverlässige Methode zu sein.


-1

Die einfachste und distro-agnostischste Art, Ihre Frage zu beantworten, ist:

find / -name mysql
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.