打字
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是什么意思? 这是在任何地方记录/解释的吗?
答案 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"
(它实际上在配置脚本中设置并在配置时替换)