检查服务器上是否安装了mySql


10

有没有一种方法可以确定mySql是否已安装在Linux服务器上?


如果您需要拒绝这个问题,请告诉我为什么?
Elitmiar

可能是因为您提出的问题不好。这是事实上正确的做法
pboin

Answers:


12

假设您正在寻找安装了典型软件包的mysql二进制文件,请运行以下命令:

mysql

要么

mysql --version

如果返回响应,则表示已安装;如果显示“找不到命令”,则表示未安装。


假设它在路径或当前目录中。
squillman

还要假设它没有被编译为使用其他名称!:)
Dave Drager


1

怎么样rpm -q mysql(Fedora / RedHat)


rpm -qa | grep mysql可能更安全,因为主软件包是mysql-server
Ophidian

1

除了上述好的建议,请尝试:

locate mysqld_safe

要么

ls /etc/init.d | grep mysql

如果您认为它可能已经在运行,请尝试:

ps waxu | grep mysql

要么

netstat -pan | grep mysql

0

在我所知道的每个发行版中,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:~ #

可能未安装“哪个”程序,请通过以下方法进行检查:

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

希望这可以帮助。缺少查询包管理器的方法(如果您有许多运行不同发行版的系统,则很难在脚本中执行),这似乎是一种非常可靠的判断方法。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.