Czy istnieje sposób, aby ustalić, czy mySql został zainstalowany na serwerze Linux?
Czy istnieje sposób, aby ustalić, czy mySql został zainstalowany na serwerze Linux?
Odpowiedzi:
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.
Co powiesz na rpm -q mysql
(Fedora / RedHat)
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.
Najłatwiejszym i najbardziej destrukcyjnym sposobem odpowiedzi na twoje pytanie jest;
find / -name mysql