如果我从 PHP 中检查数据库版本信息,MariaDB 将在其版本字符串的前面返回一组额外的版本号。
>>> DB::connection()->getPdo()->getAttribute(PDO::ATTR_SERVER_VERSION);
=> "5.5.5-10.2.20-MariaDB-1:10.2.20+maria~bionic"
Run Code Online (Sandbox Code Playgroud)
代表什么5.5.5?
当 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);
Run Code Online (Sandbox Code Playgroud)