Назад | Перейти на главную страницу

Проверьте, установлен ли mySql на сервере

Есть ли способ определить, установлен ли mySql на сервере Linux?

Предполагая, что вы ищете двоичный файл mysql, установленный с обычным пакетом, выполните команду:

mysql

или

mysql --version

Если он возвращается с ответом, он установлен, если он говорит «команда не найдена», значит, он не установлен.

Какая версия linux?

Debian dpkg -l 'mysql *'

Как насчет rpm -q mysql (Fedora / RedHat)

Помимо хороших предложений выше, попробуйте:

locate mysqld_safe

или

ls /etc/init.d | grep mysql

Если вы думаете, что он уже работает, попробуйте:

ps waxu | grep mysql

или

netstat -pan | grep mysql

В каждом известном мне дистрибутиве MySQL устанавливает некоторые разделяемые библиотеки для своего клиента, названные соответственно limbysqlclient. Вы можете проверить это с помощью инструмента ldconfig, который запросит, установлен ли объект:

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

Это говорит о высокой вероятности того, что MySQL установлен. Очень редко кто-то устанавливает только общие объекты, не устанавливая хотя бы клиента. Теперь проверьте наличие реального клиента и сервера:

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

Программа which может не быть установлена, поэтому проверьте ее через:

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

Надеюсь это поможет. Если не считать запроса к диспетчеру пакетов (что довольно сложно сделать в сценарии, если у вас много систем, работающих с разными дистрибутивами), это кажется очень надежным способом узнать.

Самый простой и независимый от дистрибутива способ ответить на ваш вопрос:

find / -name mysql