【问题标题】:What does the first part of the MariaDB version string mean?MariaDB 版本字符串的第一部分是什么意思?
【发布时间】:2019-06-15 13:00:38
【问题描述】:

如果我从 PHP 中检查数据库版本信息,MariaDB 在其版本字符串的前面返回一组额外的版本号。

>>> DB::connection()->getPdo()->getAttribute(PDO::ATTR_SERVER_VERSION);
=> "5.5.5-10.2.20-MariaDB-1:10.2.20+maria~bionic"

5.5.5 代表什么?

【问题讨论】:

  • SO 适用于您遇到代码问题时的编程问题。由于这个问题与编程没有任何关系,所以我投票关闭它。
  • 执行查询:show variables where variable_name like '%version%' 看看你得到了什么。我怀疑是innodb_version
  • 嗯...我刚刚在我的开发盒上运行$pdo->getAttribute(PDO::ATTR_SERVER_VERSION) 并得到5.5.5-10.1.30-MariaDB ...我的innodb版本是5.6.36-82.2 ...我会冒险猜测PDO当您请求PDO::ATTR_SERVER_VERSION 时,对冲其与 MariaDB 版本的赌注;当我安装 MariaDB 时,我怀疑 5.5.510.1.30 是 5.x 和 10.x 分支的稳定版本(目前是 5.5.65 和 10.1.40 ... 或 10.2.24 ... 或 10.3。 15 ...嗬嗬)。

标签: php mariadb


【解决方案1】:

版本前缀(所谓的“复制版本破解”)是在 MariaDB 将主要版本号增加到 10(2 位)时引入的。

这是必要的,因为复制协议需要 1 位数的主要版本号,并且会因 2 位数的版本号而中断。

5.5.5 版从未发布。

来自连接器/C 源代码:

#define MA_RPL_VERSION_HACK "5.5.5-"
...
mysql->server_version= strdup(end + sizeof(MA_RPL_VERSION_HACK) - 1);

【讨论】:

    猜你喜欢
    • 2018-04-19
    • 1970-01-01
    • 2018-08-28
    • 2022-01-22
    • 2011-04-21
    • 1970-01-01
    • 2022-11-08
    • 2018-05-01
    • 2012-05-25
    相关资源
    最近更新 更多