的DISTRIB数量的Linux shell中键入版本的MySQL VS
mysql --version
命令我有以下几点:
mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
数量5.0.77显然指的是MySQL的已知的版本号。 我有疑问,14.12是什么意思? 这是记录/解释任何地方?
的DISTRIB数量的Linux shell中键入版本的MySQL VS
mysql --version
命令我有以下几点:
mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
数量5.0.77显然指的是MySQL的已知的版本号。 我有疑问,14.12是什么意思? 这是记录/解释任何地方?
版指的是mysql命令行客户端的版本 - 你键入“MySQL的”
DISTRIB指MySQL服务器版本客户端进行建有 envoking什么。这不会与你连接到的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”
在哪里这些常量定义?是个问题。
VER在客户端/ mysql.cc的顶部(在我的源代码行51)附近定义为运行时的常量。
const char *VER= "14.14";
而且我会假设,手工更新或通过签入过程。这很可能是'客户端'的版本,因为它就在客户端代码中。
MYSQL_SERVER_VERSION在定义包括其用于在客户端和服务器(MySQL的/ mysqld的)两者/ mysql_version.h(第12行)
#define MYSQL_SERVER_VERSION "5.1.56"
(它在配置脚本实际设置和在取代的在配置时间)
完美答案。非常感谢! – grasshopper 2012-01-05 11:46:31
谢谢......虽然如果有人能从MySQL找到关于这方面的官方文档,我认为这个链接比spelunking代码更好。 – FlipMcF 2012-01-05 17:40:27