Ver指 mysql 命令行客户端的版本 - 您通过输入“mysql”调用的版本
Distrib指的是您的客户端的 mysql 服务器版本建有。不要将其与您连接到的 mysql 服务器混淆,可以使用以下命令获取该服务器SELECT VERSION();
mysql 客户端(您所提到的)与服务器一起分发,并且,据我所知,没有简单的方法可以自行构建它。
我也找不到任何相关文档,因此来源是文档的唯一“来源”。
第一站:client/mysql.cc:mysql客户端。
static void usage(int version)
{
...
printf("%s Ver %s Distrib %s, for %s (%s) using %s %s\n",
my_progname, VER, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE,
readline, rl_library_version);
如您所见,它使用常量 VER 表示“14.12”,使用常量 MYSQL_SERVER_VERSION 表示“5.0.77”
问题是这些常量在哪里定义?
VER 在 client/mysql.cc 的顶部附近(我的源代码中的第 51 行)定义为运行时的常量。
const char *VER= "14.14";
我认为,通过手动或签入流程进行更新。这很可能是“客户端”的版本,因为它就在客户端代码中。
MYSQL_SERVER_VERSION 在 include/mysql_version.h(第 12 行)中定义,用于客户端和服务器(mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(它实际上是在配置脚本中设置并在配置时替换的)