判断是mysql还是percona还是mariaDB

Posted

技术标签:

【中文标题】判断是mysql还是percona还是mariaDB【英文标题】:determine if mysql or percona or mariaDB 【发布时间】:2016-09-16 00:25:40 【问题描述】:

如何判断我要连接的服务器是 Percona 还是 mysql 还是 MariaDB? 有没有这样做的标准方法? 我目前正在使用SHOW VERSION 来测试服务器版本,但我还需要在我正在开发的应用程序中显示服务器名称。

【问题讨论】:

【参考方案1】:

请记住,“MySQL”是原始版本,其他都是衍生产品。下面是一些可能总是有效的代码:

version_comment REGEXP 'MariaDB' -- > Mariadb
version_comment REGEXP 'Percona' -- > Percona
else MySQL

version_comment 可以通过SHOW VARIABLESinformation_schema 访问。

@@version 不可靠,因为 Percona 没有留下任何线索,尽管我怀疑“-30.3-”是5.5.31-30.3-log 中的线索。

(我检查了 106 台服务器。)

更新

(检查 264 个服务器。)

version         REGEXP 'MariaDB' -- > Mariadb
version_comment REGEXP 'Percona' -- > Percona
else MySQL

(我们可能无法相信这是最后的决定。)

【讨论】:

所以我可以假设 Percona 和 MariaDB 总是报告他们的名字,而 MySQL 在这里表现不同? 我的回答是基于经验证据。根据历史... MySQL 是基础产品(现在由 Oracle 拥有),因此没有理由在设置中进行具体说明。其他都是衍生产品,所以他们觉得有必要这样做。 更长的答案:***.com/questions/43611296/… 请注意,此答案可能已过时。我得到版本 = '10.3.22-MariaDB-0+deb10u1-log',version_commnet = 'Debian 10'。见mariadb.com/docs/reference/mdb/system-variables/version_comment @Elvex - 谢谢。我已经更新了我的答案。【参考方案2】:

您可以通过以下方式获取特定信息:

SHOW VARIABLES LIKE '%vers%'

versionversion_comment 非常具体。

【讨论】:

在我的开发服务器上,version_comment=(Ubuntu)version=5.5.47-0ubuntu0.14.04.1。任何地方都没有“MySQL”字符串的痕迹。我查看了所有 SHOW VARIABLES 列表,但没有发现任何相关信息 这可能是特定于发行版的。在 Fedora 上,我看到我正在测试的两个实例的“MySQL 社区服务器 (GPL)”或“MariaDB 服务器”。 好像是这样,来自dev.mysql.com/doc/refman/5.7/en/show-variables.html 的例子说明Source distribution Percona 有什么特殊的变量可以挑出来吗? 我无法再访问该服务器了。它被重新安装。我希望将 innodb_* 变量命名为 xtradb_*,但我不会将此称为对我的问题的明确答案。

以上是关于判断是mysql还是percona还是mariaDB的主要内容,如果未能解决你的问题,请参考以下文章

简单分析percona-zabbix-templates(r10笔记第6天)

pt-heartbeat(percona toolkit)

优化系列 | MySQL 5.6.10 vs Percona 5.6.6之TPCCC性能测试

mysql主从同步-percona-toolkit工具(数据一致性监测延迟监控)使用梳理

mysql备份与主从复制

linux--15week