How can I detect whether connected database is MariaDB or MySQL?(如何检测连接的数据库是 MariaDB 还是 MySQL?)
问题描述
我的 PHP 应用程序有要求,包括MySQL 5.7+ 或 MariaDB 10.2+".我如何判断这些替代方案中的哪一个是满意的?
My PHP application has requirements, including "either MySQL 5.7+ or MariaDB 10.2+". How can I tell which of these alternatives is satisfied?
我知道如何比较版本号,也知道如何从数据库中获取版本号,但我不知道如何确定它是哪种数据库.
I know how to compare version numbers, and also to get the version number from the database, but I don't know how to determine which kind of database it is.
我试过了
select version()
这仅返回版本号和服务器操作系统信息,而不是数据库类型.
That returns only the version number and server OS information, but not the database kind.
推荐答案
在 VARIABLES
中查找 aria_block_size
.它的存在几乎肯定意味着某个版本的 MariaDB 而不是 MySQL,也不是 Percona.(至少在不久的将来.)
Look in VARIABLES
for aria_block_size
. Its existence almost certainly implies some version of MariaDB and not MySQL, nor Percona. (At least for the near future.)
version
开头部分:
- 5.7"和8.0"暗示 MySQL 或 Percona;这并不意味着 MariaDB.
- 10.2"暗示 MariaDB;MySQL 和 Percona 不太可能达到10".很长一段时间.
您需要什么功能?Percona 有可能在 MariaDB 10.2 来自 MySQL 之前对其进行改造.
What feature are you needing? There is a chance that Percona will retrofit something from MariaDB 10.2 before it comes from MySQL.
即使 version
是 5.1.53-rel11.7-log
或 5.5.35-0ubuntu0.12.04.2-log
,第一部分介绍了 MySQL/MariaDB/Percona 版本的重要部分.
Even when version
is 5.1.53-rel11.7-log
or 5.5.35-0ubuntu0.12.04.2-log
, the first part gives you the important part of the MySQL/MariaDB/Percona version.
Percona 版本如下所示:5.5.31-30.3-log
、5.6.30-76.3-56-log
、5.6.19-67.0-log
-- 注意开头的 3 后面的额外的 2 或 3 个数字.
Percona versions look like: 5.5.31-30.3-log
, 5.6.30-76.3-56-log
, 5.6.19-67.0-log
-- Note the extra 2 or 3 numbers after the initial 3.
MariaDB 总是以 N.N.N-MariaDB
MariaDB always starts with N.N.N-MariaDB
Oracle 的 MySQL 以 NNN
开头,但可能会继续使用 -enterprise
(付费版)、-community
(免费版)、-0ubuntu0
(Ubuntu移植)、-Debian
等
Oracle's MySQL starts with N.N.N
, but might continue with -enterprise
(paid version), -community
(free version), -0ubuntu0
(ported by Ubuntu), -Debian
, etc.
MariaDB:5.1、5.2、5.3、5.4、5.5、10.0、10.1、10.2、10.3、10.4、10.5
Oracle 和 Percona:5.1、5.5、5.6、5.7、8.0
MariaDB: 5.1, 5.2, 5.3, 5.4, 5.5, 10.0, 10.1, 10.2, 10.3, 10.4, 10.5
Oracle and Percona: 5.1, 5.5, 5.6, 5.7, 8.0
8.0 周期才刚刚开始.这意味着 5.6 将很快关闭,而 5.7 还剩下一些生命,但不会有太多新的东西.
The 8.0 cycle is just beginning. This means that 5.6 will soon be closing down and 5.7 has some life left, but not much new will be but in it.
澄清什么是主要";发布.
对于 MySQL(和 Percona),这些是主要的",它们不是连续':5.1、5.5、5.6、5.7、8.0.
对于 MariaDB:5.1、5.2、5.3、5.4、5.5、10.0、10.1、10.2、10.3、10.4、10.5.
Clarification of what is a "major" release.
For MySQL (and Percona), these are "major", and they are not
consecutive': 5.1, 5.5, 5.6, 5.7, 8.0.
For MariaDB: 5.1, 5.2, 5.3, 5.4, 5.5, 10.0, 10.1, 10.2, 10.3, 10.4, 10.5.
这篇关于如何检测连接的数据库是 MariaDB 还是 MySQL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何检测连接的数据库是 MariaDB 还是 MySQL?
基础教程推荐
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01