Ответ 1
Ver относится к версии клиента командной строки mysql - то, что вы вызываете, набрав "mysql"
Распространение относится к версии сервера mysql, с которой был создан ваш клиент. Это не следует путать с сервером mysql, к которому вы подключены, который можно получить с помощью SELECT VERSION();
Клиент mysql (то, что вы вызываете) распространяется с сервером, и, AFAIK, нет простого способа создать его на своем собственном.
Я также не могу найти документацию для этого, поэтому источник является единственным "источником" документации.
Первая остановка: client/mysql.cc: клиент 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);
Как вы видите, он использует константы VER для "14.12" и MYSQL_SERVER_VERSION для "5.0.77"
Где эти константы определены?, это вопрос.
VER определен в верхней части (строка 51 в моем источнике) клиента /mysql.cc как константа во время выполнения.
const char *VER= "14.14";
И я бы предположил, обновленный вручную или посредством процесса проверки. Это, скорее всего, версия "клиента", потому что она находится прямо в клиентском коде.
MYSQL_SERVER_VERSION определяется в include/mysql_version.h(строка 12), который используется как для клиента, так и для сервера (mysql/mysqld)
#define MYSQL_SERVER_VERSION "5.1.56"
(он фактически установлен в конфигурации script и заменен во время настройки)