Ver odkazuje na verzi klienta příkazového řádku mysql - to, co vyvoláváte zadáním 'mysql'
Distrib odkazuje na verzi serveru mysql, se kterou byl váš klient sestaven . Nezaměňujte se serverem mysql, ke kterému jste připojeni a který lze získat pomocí SELECT VERSION();
Klient mysql (to, co vyvoláváte) je distribuován se serverem a, AFAIK, neexistuje snadný způsob, jak jej postavit sám.
Ani k tomu nemohu najít žádnou dokumentaci, takže zdroj je jediným „zdrojem“ dokumentace.
První zastávka:client/mysql.cc:klient 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);
Jak vidíte, používá konstanty VER pro "14.12" a MYSQL_SERVER_VERSION pro "5.0.77"
Kde jsou tyto konstanty definovány?, je otázka.
VER je definován v horní části (řádek 51 v mém zdroji) souboru client/mysql.cc jako konstanta za běhu.
const char *VER= "14.14";
A předpokládám, že aktualizace ručně nebo procesem odbavení. Toto je velmi pravděpodobně verze 'klienta', protože je přímo v kódu klienta.
MYSQL_SERVER_VERSION je definován v include/mysql_version.h (řádek 12), který se používá pro klienta i server (mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(ve skutečnosti se nastavuje v konfiguračním skriptu a nahrazuje se v konfiguračním čase)