Ver refere-se à versão do cliente de linha de comando mysql - o que você está invocando digitando 'mysql'
Distrib refere-se à versão do servidor mysql com o qual seu cliente foi construído . Isso não deve ser confundido com o servidor mysql ao qual você está conectado, que pode ser obtido com
SELECT VERSION();
O cliente mysql (o que você está evocando) é distribuído com o servidor e, AFAIK, não há uma maneira fácil de construí-lo por conta própria.
Também não consigo encontrar nenhuma documentação para isso, então a fonte é a única 'fonte' de documentação.
Primeira parada:client/mysql.cc:o cliente 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);
Como você vê, ele usa as constantes VER para "14.12" e MYSQL_SERVER_VERSION para "5.0.77"
Onde essas constantes são definidas?, é a questão.
VER é definido próximo ao topo (linha 51 na minha fonte) de client/mysql.cc como uma constante em tempo de execução.
const char *VER= "14.14";
E eu diria, atualizado manualmente ou por um processo de check-in. Esta é muito provavelmente a versão do 'cliente' porque está bem ali no código do cliente.
MYSQL_SERVER_VERSION é definido em include/mysql_version.h (linha 12) que é usado tanto para o cliente quanto para o servidor (mysql / mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(na verdade, é definido no script de configuração e substituído no momento da configuração)