Ver si riferisce alla versione del client della riga di comando mysql - cosa stai invocando digitando 'mysql'
Distribuzione si riferisce alla versione del server MySQL con cui è stato creato il tuo client . Questo non deve essere confuso con il server mysql a cui sei connesso, che può essere ottenuto con SELECT VERSION();
Il client mysql (quello che stai evocando) è distribuito con il server e, AFAIK, non esiste un modo semplice per costruirlo da solo.
Non riesco nemmeno a trovare alcuna documentazione per questo, quindi la fonte è l'unica "fonte" di documentazione.
Prima tappa:client/mysql.cc:il client 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);
Come puoi vedere, usa le costanti VER per "14.12" e MYSQL_SERVER_VERSION per "5.0.77"
Dove sono definite queste costanti?, è la domanda.
VER è definito nella parte superiore (riga 51 nel mio codice sorgente) di client/mysql.cc come una costante in fase di esecuzione.
const char *VER= "14.14";
E suppongo, aggiornato a mano o da un processo di check-in. Questa è molto probabilmente la versione del "client" perché è proprio lì nel codice client.
MYSQL_SERVER_VERSION è definito in include/mysql_version.h (riga 12) che viene utilizzato sia per il client che per il server (mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(è effettivamente impostato nello script di configurazione e sostituito al momento della configurazione)