Ver fait référence à la version du client de ligne de commande mysql - ce que vous invoquez en tapant 'mysql'
Distrib fait référence à la version du serveur mysql avec laquelle votre client a été construit . Cela ne doit pas être confondu avec le serveur mysql auquel vous êtes connecté, qui peut être obtenu avec SELECT VERSION();
Le client mysql (ce que vous évoquez) est distribué avec le serveur et, autant que je sache, il n'y a pas de moyen facile de le construire tout seul.
Je ne trouve aucune documentation pour cela non plus, donc la source est la seule "source" de documentation.
Premier arrêt :client/mysql.cc :le 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);
Comme vous le voyez, il utilise les constantes VER pour "14.12" et MYSQL_SERVER_VERSION pour "5.0.77"
Où sont définies ces constantes ?, telle est la question.
VER est défini près du haut (ligne 51 dans ma source) de client/mysql.cc comme une constante au moment de l'exécution.
const char *VER= "14.14";
Et je suppose, mis à jour à la main ou par un processus d'enregistrement. Il s'agit très probablement de la version du 'client' car elle se trouve juste là dans le code client.
MYSQL_SERVER_VERSION est défini dans include/mysql_version.h (ligne 12) qui est utilisé à la fois pour le client et le serveur (mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(il est en fait défini dans le script de configuration et remplacé au moment de la configuration)