C'è un modo per determinare se mySql è stato installato su un server Linux?
C'è un modo per determinare se mySql è stato installato su un server Linux?
Risposte:
Supponendo che tu stia cercando un binario mysql installato con un pacchetto tipico, esegui il comando:
mysql
o
mysql --version
Se ritorna con una risposta, viene installato, se dice "comando non trovato", allora non è installato.
Che ne dici di rpm -q mysql(Fedora / RedHat)
Su ogni distribuzione che conosco, MySQL installa alcune librerie condivise per il suo client, chiamate appropriatamente limbysqlclient. Puoi verificarlo usando lo strumento ldconfig, che eseguirà una query per vedere se l'oggetto è installato:
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
Questo ti dice che ci sono ottime possibilità che MySQL sia installato. È molto raro che qualcuno installasse solo gli oggetti condivisi, senza installare almeno il client. Ora, controlla l'esistenza del client e del server attuali:
root@tower:~ # which mysqld_safe
/usr/bin/mysqld_safe
root@tower:~ # which mysql
/usr/bin/mysql
root@tower:~ #
Il programma "quale" potrebbe non essere installato, quindi verificalo tramite:
root@tower:~ # which which
/usr/bin/which
Spero che sia di aiuto. A corto di query sul gestore dei pacchetti (un po 'difficile da fare in uno script se hai molti sistemi che eseguono distribuzioni diverse) sembra un modo molto affidabile per dirlo.
Il modo più semplice e più distro-agnostico di rispondere alla tua domanda è;
find / -name mysql