版本与MySQL的Distrib编号

时间:2011-12-27 13:30:40

标签: mysql

打字

mysql --version
Linux shell中的

命令我得到了以下内容:

mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1

数字5.0.77显然是指已知的MySQL版本号。 我有疑问,14.12是什么意思? 这是在任何地方记录/解释的吗?

1 个答案:

答案 0 :(得分:21)

Ver 是指mysql命令行客户端的版本 - 通过输入'mysql'来吸引你的内容
Distrib 是指客户端使用构建的mysql服务器版本。这不能与您连接的mysql服务器混淆,可以使用SELECT VERSION();

获取

mysql客户端(你在想什么)与服务器一起分发,而AFAIK,没有简单的方法可以自己构建它。

我也找不到任何相关的文档,因此源代码是文档的唯一“来源”。

第一站: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”

这些常量定义在哪里?是问题。

在客户端/ mysql.cc的顶部(我的源代码中的第51行)附近定义VER作为运行时的常量。

const char *VER= "14.14"; 

我会假设,手工或签入过程更新。这很可能是“客户端”的版本,因为它就在客户端代码中。

MYSQL_SERVER_VERSION在include / mysql_version.h(第12行)中定义,它用于客户端和服务器(mysql / mysqld)

#define MYSQL_SERVER_VERSION            "5.1.56"

(它实际上在配置脚本中设置并在配置时替换)