Atención: Se debe leer esta sección únicamente si se está interesado en colaborar con MySQL AB en la prueba de código nuevo. Si solamente se desea obtener MySQL para ejecutarlo en un sistema, se debe emplear una distribución estándar (ya sea binaria o de código fuente).
Para obtener el directorio de desarrollo más reciente, se deben seguir estas instrucciones:
Descargar el cliente gratuito BitKeeper desde http://www.bitmover.com/bk-client.shar.
En Unix, instalar el cliente gratuito de esta manera:
shell> sh bk-client.shar shell> cd bk_client-1.1 shell> make all shell> PATH=$PWD:$PATH
En Windows, instalarlo de esta manera:
Descargar e instalar Cygwin desde http://cygwin.com.
Asegurarse de que gcc
fue instalado
bajo Cygwin. Esto se comprueba emitiendo which
gcc
. Si no está instalado, ejecutar el gestor
de paquetes (package manager) de Cygwin, seleccionar
gcc
, e instalarlo.
Bajo Cygwin, llevar a cabo estos pasos:
shell> sh bk-client.shar shell> cd bk_client-1.1
Luego, editar el fichero Makefile
y
modificar la línea que lee $(CC) $(CFLAGS) -o
sfio -lz sfio.c
para que quede así:
$(CC) $(CFLAGS) -o sfio sfio.c -lz
Ejecutar el comando make y establecer la ruta:
shell> make all shell> PATH=$PWD:$PATH
Después que el cliente gratuito BitKeeper se haya instalado, dirigirse en primer lugar al directorio desde donde se desea trabajar y utilizar el siguiente comando para hacer una copia local de la rama de MySQL 5.0:
shell> sfioball -r+ bk://mysql.bkbits.net/mysql-5.0 mysql-5.0
Normalmente, no es necesario generar la documentación, dado
que ya es suministrada en una variedad de formatos en
http://dev.mysql.com/doc/. Los formatos que
pueden descargarse allí (HTML, PDF, etc.) están generados
diariamente, de modo que no se gana gran cosa generándola
en base a los documentos en formato XML DocBook que hay en
el directorio mysqldoc
. Si de todos modos
se deseara copiar el repositorio de documentación, debe
emplearse el siguiente comando:
shell> sfioball -r+ bk://mysql.bkbits.net/mysqldoc mysqldoc
En el ejemplo anterior, el árbol de código fuente se
establece dentro del subdirectorio
mysql-5.0/
dentro del
Si se está detrás de un firewall y solamente pueden iniciarse conexiones HTTP, BitKeeper también puede usarse sobre HTTP.
Si se necesita usar un servidor proxy, establecer la
variable de entorno http_proxy
para
apuntar al mismo:
shell> export http_proxy="http://your.proxy.server:8080/"
Reemplazar bk://
con
http://
cuando se copie un repositorio.
Ejemplo:
shell> sfioball -r+ http://mysql.bkbits.net/mysql-5.0 mysql-5.0
La descarga inicial del árbol de código fuente puede llevar un tiempo, dependiendo de la velocidad de la conexión. Si es así, habrá que tener paciencia hasta completar la descarga.
Para actualizar la copia local del repositorio MySQL 5.0, debe emplearse este comando:
shell> update bk://mysql.bkbits.net/mysql-5.0
Son necesarios: GNU make, autoconf 2.58 (o posterior), automake 1.8, libtool 1.5, y m4 para ejecutar la siguiente serie de comandos. Aún cuando muchos sistemas operativos vienen con su propia implementación de make, hay muchas posibilidades de que la compilación falle con extraños mensajes de error. Por consiguiente, es muy recomendable utilizar GNU make (a veces llamado gmake) en lugar de otros.
Afortunadamente, un gran número de sistemas operativos se distribuyen con las herramientas GNU preinstaladas o proveen paquetes instalables de las mismas. En cualquier caso, pueden descargarse de las siguientes direcciones:
Para configurar MySQL 5.0, también se necesitará GNU bison 1.75 o posterior. Las versiones antiguas de bison pueden producir este error:
sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
Nota: El mensaje es: "Error fatal: se ha excedido el tamaño máximo para la tabla (32767)". El tamaño máximo de la tabla no está realmente excedido, el mensaje es consecuencia de errores en versiones antiguas de bison.
El siguiente ejemplo muestra los comandos típicamente
requeridos para configurar un árbol de código fuente. El
primer comando cd
es para posicionarse en
el directorio de más alto nivel en el árbol, debe
reemplazarse mysql-5.0
con el nombre de
directorio apropiado.
shell> cd mysql-5.0 shell> bk -r edit shell> aclocal; autoheader shell> libtoolize --automake --force shell> automake --force --add-missing; autoconf shell> (cd innobase; aclocal; autoheader; autoconf; automake) shell> (cd bdb/dist; sh s_all) shell> ./configure # Add your favorite options here shell> make
O bien puede usarse BUILD/autorun.sh como un atajo para la siguiente secuencia de comandos:
shell> aclocal; autoheader shell> libtoolize --automake --force shell> automake --force --add-missing; autoconf shell> (cd innobase; aclocal; autoheader; autoconf; automake) shell> (cd bdb/dist; sh s_all)
La línea de comandos que cambia el directorio dentro de
innobase
y
bdb/dist
se usa para configurar los
motores de almacenamiento InnoDB
y
Berkeley DB (BDB
). Pueden omitirse si no
se necesita soporte para InnoDB
o
BDB
.
Si se obtienen algunos mensajes de error extraños durante este paso, debe verificarse si verdaderamente se encuentra instalado libtool.
En el subdirectorio BUILD/
se encuentra
una colección de scripts de configuración estándar
utilizados por MySQL AB. Es posible que resulte más
conveniente utilizar el script
BUILD/compile-pentium-debug
que el
conjunto de comandos antes mencionado. Para compilar en una
arquitectura diferente, debe modificarse el script
eliminando los flags que son específicos de Pentium.
Cuando la generación esté concluida, debe ejcutarse
make install. Debe tenerse cuidado con
esto al aplicarlo en un ordenador en producción; los
comandos pueden sobreeescribir la instalación en uso. Si
hay otra instalación de MySQL, se recomienda ejecutar
./configure con valores diferentes para
las opciones --prefix
,
--with-tcp-port
, y
--unix-socket-path
que aquellos empleados
en el servidor en producción.
Ahora se debe "jugar" con la nueva instalación e intentar que las nuevas características colapsen con algún error. Debe comenzarse por ejecutar make test. Consulte Sección 27.1.2, “El paquete de pruebas MySQL Test”.
Si se ha llegado a la etapa de make y la
distribución no se compila, debe informarse en la base de
datos de errores en http://bugs.mysql.com/.
Si se han instalado las últimas versiones de las
herramientas GNU necesarias, y estas caen al intentar
procesar los ficheros de configuración provistos, también
debe informarse. Sin embargo, si se ejecuta
aclocal
y se obtiene un error
command not found
o similar, no debe
informarse. En su lugar, hay que asegurarse de que todas las
herramientas necesarias estén instaladas y que la variable
PATH
está correctamente establecida para
que el shell las pueda localizar.
Luego de la copia inicial del repositorio
(sfioball
) para obtener el árbol de
código fuente, se debe actualizar el repositorio
(update
) periódicamente para obtener
novedades.
Para examinar la historia de cambios del árbol, con todas
las diferencias, puede verse el fichero
BK/ChangeLog
localizado en el árbol de
código fuente y observar las descripciones
ChangeSet
listadas. Para examinar una
descripción changeset en particular, se utiliza el comando
sfioball para extraer dos revisiones del
árbol de código fuente, y luego se utiliza un comando
externo diff para compararlas. En caso de
hallar diferencias poco claras o tener preguntas acerca del
código, no debe dudarse en enviar un correo electrónico a
la lista de correo internals
de MySQL.
Consulte Sección 1.6.1.1, “Las listas de correo de MySQL”. Asimismo, si se
considera que se tiene una mejor idea sobre cómo realizar
algo, debe enviarse un mensaje de correo a la misma lista
con la corrección.
El cliente gratuito BitKeeper es ditribuido con su código fuente. La única documentación disponible para el cliente gratuito es el propio código fuente.
También pueden verse cambios, comentarios y código fuente a través de la Web. Para ver esta información en el caso de MySQL 5.0, dirigirse a http://mysql.bkbits.net:8080/mysql-5.0.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.