Ver hänvisar till versionen av mysql kommandoradsklient - vad du anropar genom att skriva 'mysql'
Distrib hänvisar till mysql-serverversionen som din klient byggdes med . Detta ska inte förväxlas med mysql-servern du är ansluten till, som kan erhållas med SELECT VERSION();
Mysql-klienten (det du framkallar) distribueras med servern, och, AFAIK, det finns inget enkelt sätt att bygga den på egen hand.
Jag kan inte hitta någon dokumentation för detta heller, så källan är den enda "källan" till dokumentation.
Första stoppet:client/mysql.cc:mysql-klienten.
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);
Som du ser använder den konstanterna VER för "14.12" och MYSQL_SERVER_VERSION för "5.0.77"
Var definieras dessa konstanter?, är frågan.
VER definieras nära toppen (rad 51 i min källa) av client/mysql.cc som en konstant vid körning.
const char *VER= "14.14";
Och jag skulle anta, uppdaterad för hand eller genom en incheckningsprocess. Detta är mycket troligt versionen av 'klienten' eftersom den finns där i klientkoden.
MYSQL_SERVER_VERSION definieras i include/mysql_version.h (rad 12) som används för både klienten och servern (mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(det är faktiskt inställt i konfigureringsskriptet och ersatt vid konfigureringstillfället)