Ver verwijst naar de versie van de mysql-opdrachtregelclient - wat u aanroept door 'mysql' te typen
Distrib verwijst naar de mysql-serverversie waarmee uw client is gebouwd . Dit moet niet worden verward met de mysql-server waarmee u bent verbonden, die kan worden verkregen met SELECT VERSION();
De mysql-client (wat u oproept) wordt met de server gedistribueerd en, AFAIK, er is geen gemakkelijke manier om het op zichzelf te bouwen.
Ik kan hier ook geen documentatie voor vinden, dus de bron is de enige 'bron' van documentatie.
Eerste stop:client/mysql.cc:de mysql-client.
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);
Zoals je ziet, gebruikt het de constanten VER voor "14.12" en MYSQL_SERVER_VERSION voor "5.0.77"
Waar worden deze constanten gedefinieerd?, is de vraag.
VER wordt bovenaan (regel 51 in mijn bron) van client/mysql.cc gedefinieerd als een constante tijdens runtime.
const char *VER= "14.14";
En ik zou aannemen, met de hand bijgewerkt of door een incheckproces. Dit is zeer waarschijnlijk de versie van de 'client', omdat het daar in de klantcode staat.
MYSQL_SERVER_VERSION is gedefinieerd in include/mysql_version.h (regel 12) die wordt gebruikt voor zowel de client als de server (mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(het is feitelijk ingesteld in het configuratiescript en vervangen tijdens de configuratie)