【发布时间】:2016-09-16 00:25:40
【问题描述】:
如何判断我要连接的服务器是 Percona 还是 MySQL 还是 MariaDB?
有没有这样做的标准方法?
我目前正在使用SHOW VERSION 来测试服务器版本,但我还需要在我正在开发的应用程序中显示服务器名称。
【问题讨论】:
如何判断我要连接的服务器是 Percona 还是 MySQL 还是 MariaDB?
有没有这样做的标准方法?
我目前正在使用SHOW VERSION 来测试服务器版本,但我还需要在我正在开发的应用程序中显示服务器名称。
【问题讨论】:
请记住,“MySQL”是原始版本,其他都是衍生产品。下面是一些可能总是有效的代码:
version_comment REGEXP 'MariaDB' -- > Mariadb
version_comment REGEXP 'Percona' -- > Percona
else MySQL
version_comment 可以通过SHOW VARIABLES 或information_schema 访问。
@@version 不可靠,因为 Percona 没有留下任何线索,尽管我怀疑“-30.3-”是5.5.31-30.3-log 中的线索。
(我检查了 106 台服务器。)
更新
(检查 264 个服务器。)
version REGEXP 'MariaDB' -- > Mariadb
version_comment REGEXP 'Percona' -- > Percona
else MySQL
(我们可能无法相信这是最后的决定。)
【讨论】:
您可以通过以下方式获取特定信息:
SHOW VARIABLES LIKE '%vers%'
version 和 version_comment 非常具体。
【讨论】:
version_comment=(Ubuntu),version=5.5.47-0ubuntu0.14.04.1。任何地方都没有“MySQL”字符串的痕迹。我查看了所有 SHOW VARIABLES 列表,但没有发现任何相关信息
Source distribution。