2011-12-27 8 views
15

Escribiendo comandosVersión vs número Distrib de MySQL

mysql --version 

en shell de Linux me dio la siguiente:

mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1 

El número 5.0.77 se refiere obviamente al número de versión conocida de MySQL. Tengo dudas, ¿qué significa 14.12? ¿Está esto documentado/explicado en algún lugar?

Respuesta

15

Ver se refiere a la versión del cliente de línea de comandos mysql - lo que usted está escribiendo envoking 'mysql'
Distrib se refiere a la versión del servidor MySQL su cliente fue construido con . Esto no se debe confundir con el servidor mysql al que está conectado, que se puede obtener con SELECT VERSION();

El cliente mysql (lo que evoca) se distribuye con el servidor, y, AFAIK, no hay una manera fácil de construirlo por sí mismo.

No encuentro ninguna documentación para esto tampoco, por lo que la fuente es la única 'fuente' de documentación.

Primera parada: cliente/mysql.cc: el 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 se ve, que utiliza las constantes Ver para "14.12" y MYSQL_SERVER_VERSION para "5.0.77"

¿Dónde están estas constantes definidas ?, es la pregunta.

VER se define cerca de la parte superior (línea 51 en mi fuente) de client/mysql.cc como una constante en tiempo de ejecución.

const char *VER= "14.14"; 

Y supongo, actualizado a mano o mediante un proceso de registro. Es muy probable que sea la versión del 'cliente' porque está ahí en el código del cliente.

MYSQL_SERVER_VERSION se define en include/mysql_version.h (línea 12) que se utiliza tanto para el cliente y el servidor (MySQL/mysqld)

#define MYSQL_SERVER_VERSION   "5.1.56" 

(en realidad está situado en el script de configuración y sustituido en por lo configure time)

+0

Respuesta perfecta. ¡Muchas gracias! – grasshopper

+0

Gracias ... Aunque si alguien puede encontrar documentación oficial sobre esto de MySQL, creo que un enlace a eso es una mejor respuesta que espeleología del código. – FlipMcF