Sprawdź, czy mySql jest zainstalowany na serwerze

10

Czy istnieje sposób, aby ustalić, czy mySql został zainstalowany na serwerze Linux?

Elitmiar
źródło
Jeśli chcesz zanegować to pytanie, powiedz mi dlaczego?
Elitmiar,
Prawdopodobnie dlatego, że nie zadałeś dobrze swojego pytania. Oto faktyczny sposób, aby zrobić to dobrze: catb.org/~esr/faqs/smart-questions.html
pboin

Odpowiedzi:

12

Zakładając, że szukasz pliku binarnego mysql zainstalowanego z typowym pakietem, uruchom polecenie:

mysql

lub

mysql --version

Jeśli wróci z odpowiedzią, zostanie zainstalowany, jeśli powie „nie znaleziono polecenia”, to nie zostanie zainstalowany.

Dave Drager
źródło
Zakładając, że znajduje się w ścieżce lub bieżącym katalogu.
squillman
Zakładając również, że nie zostało skompilowane pod inną nazwą! :)
Dave Drager
2

Jaka wersja systemu Linux?

Debian dpkg -l 'mysql *'

Ryaner
źródło
1

Co powiesz na rpm -q mysql(Fedora / RedHat)

Satanicpuppy
źródło
rpm -qa | grep mysql jest prawdopodobnie bezpieczniejszy, ponieważ głównym pakietem jest mysql-server
Ophidian
1

Oprócz powyższych dobrych sugestii spróbuj:

locate mysqld_safe

lub

ls /etc/init.d | grep mysql

Jeśli uważasz, że może już działać, spróbuj:

ps waxu | grep mysql

lub

netstat -pan | grep mysql
Twirrim
źródło
0

W każdej znanej mi dystrybucji MySQL instaluje biblioteki współdzielone dla swojego klienta, odpowiednio nazwanego limbysqlclient. Możesz to sprawdzić za pomocą narzędzia ldconfig, które zapyta, czy obiekt jest zainstalowany:

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

To mówi, że istnieje bardzo duża szansa, że ​​MySQL jest zainstalowany. Bardzo rzadko ktoś instaluje tylko obiekty udostępnione, bez instalowania przynajmniej klienta. Teraz sprawdź, czy istnieje rzeczywisty klient i serwer:

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

Program `który 'może nie zostać zainstalowany, więc sprawdź go za pomocą:

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

Mam nadzieję że to pomoże. Brak zapytań do menedżera pakietów (trudny do zrobienia w skrypcie, jeśli masz wiele systemów z różnymi dystrybucjami), wydaje się to bardzo wiarygodnym sposobem na stwierdzenie.

Tim Post
źródło
-1

Najłatwiejszym i najbardziej destrukcyjnym sposobem odpowiedzi na twoje pytanie jest;

find / -name mysql
Michael Pobega
źródło