Gibt es eine Möglichkeit festzustellen, ob mySql auf einem Linux-Server installiert wurde?
Gibt es eine Möglichkeit festzustellen, ob mySql auf einem Linux-Server installiert wurde?
Antworten:
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.
Wie wäre es mit rpm -q mysql(Fedora / RedHat)
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.
Die einfachste und distro-agnostischste Art, Ihre Frage zu beantworten, ist:
find / -name mysql