判断是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 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
(我们可能无法相信这是最后的决定。)
【讨论】:
所以我可以假设 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%'
version
和 version_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天)
优化系列 | MySQL 5.6.10 vs Percona 5.6.6之TPCCC性能测试