Capítulo 2. Instalar MySQL

MySQL 5.0

Capítulo 2. Instalar MySQL

Tabla de contenidos

2.1. Cuestiones generales sobre la instalación
2.1.1. Sistemas operativos que MySQL soporta
2.1.2. Escoger la distribución MySQL a instalar
2.1.3. Cómo obtener MySQL
2.1.4. Comprobar la integridad de paquetes con sumas de verificación MD5 o
2.1.5. Conformación de la instalación
2.2. Instalación MySQL estándar con una distribución binaria
2.3. Instalar MySQL en Windows
2.3.1. Requisitos de Windows
2.3.2. Elección de un paquete de instalación
2.3.3. Instalación de MySQL con un instalador automático
2.3.4. Usar el asistente de instalación de MySQL
2.3.5. Utilización del asistente de configuración
2.3.6. Instalar MySQL partiendo de un archivo Zip Noinstall
2.3.7. Descomprimir el fichero de instalación
2.3.8. Creación de un fichero de opciones
2.3.9. Seleccionar un tipo de servidor MySQL
2.3.10. Arrancar el servidor la primera vez
2.3.11. Arrancar MySQL desde la raya de comandos de Windows
2.3.12. Arrancar MySQL como un servicio de Windows
2.3.13. Comprobar la instalación de MySQL Installation
2.3.14. Resolución de problemas en la instalación de MySQL bajo Windows
2.3.15. Aumentar la versión de MySQL en Windows
2.3.16. Comparación entre MySQL en Windows y MySQL en Unix
2.4. Instalar MySQL en Linux
2.5. Instalar MySQL en Mac OS X
2.6. Instalar MySQL sobre NetWare
2.7. Instalación de MySQL en otros sistemas similares a Unix
2.8. Instalación de MySQL usando una distribución de código fuente
2.8.1. Panorámica de la instalación de código fuente
2.8.2. Opciones típicas de configure
2.8.3. Instalar desde el árbol de código fuente de desarrollo
2.8.4. Problemas en la compilación de MySQL
2.8.5. Notas sobre MIT-pthreads
2.8.6. Instalar MySQL desde el código fuente en Windows
2.8.7. Compilar los clientes de MySQL en Windows
2.9. Puesta en marcha y comprobación después de la instalación
2.9.1. Pasos a seguir después de la instalación en Windows
2.9.2. Pasos a seguir después de la instalación en Unix
2.9.3. Hacer seguras las cuentas iniciales de MySQL
2.10. Aumentar la versión de MySQL
2.10.1. Aumentar la versión de 4.1 a 5.0
2.10.2. Aumentar la versión de las tablas de privilegios
2.10.3. Copiar bases de datos MySQL a otra máquina
2.11. Bajar la versión de MySQL
2.11.1. Volver a la versión 4.1
2.12. Notas específicas sobre sistemas operativos
2.12.1. Notas sobre Linux
2.12.2. Notas sobre Mac OS X
2.12.3. Notas sobre Solaris
2.12.4. Notas sobre BSD
2.12.5. Notas sobre otros Unix
2.12.6. Notas sobre OS/2
2.13. Notas sobre la instalación de Perl
2.13.1. Instalación de Perl en Unix
2.13.2. Instalar ActiveState Perl en Windows
2.13.3. Problemas en la utilización de la interfaz Perl /

En este capítulo se describe cómo obtener e instalar MySQL:

  1. Debe determinarse si la plataforma donde se desea hacer la instalación está soportada. Nótese que no todos los sistemas soportados son igualmente adecuados para ejecutar MySQL. En algunas plataformas el funcionamiento será mucho más robusto y eficiente que en otras. Consulte Sección 2.1.1, “Sistemas operativos que MySQL soporta” para más detalles.

  2. Debe elegirse la distribución que se instalará. Hay varias versiones de MySQL disponibles, y la mayoría lo están en varios formatos de distribución. Se puede elegir entre distribuciones prearmadas que contienen programas binarios (precompilados) o bien código fuente. En caso de duda, debe elegirse una distribución binaria. También se provee acceso público al código fuente para quienes deseen ver los desarrollos más recientes y colaborar en el testeo de código nuevo. Para establecer qué versión y tipo de distribución debería usarse, consulte Sección 2.1.2, “Escoger la distribución MySQL a instalar”.

  3. Descargar la distribución que se desea instalar. Para ver una lista de sitios desde los cuales se puede obtener MySQL, consúltese Sección 2.1.3, “Cómo obtener MySQL”. Se puede verificar la integridad de la distribución como se describe en Sección 2.1.4, “Comprobar la integridad de paquetes con sumas de verificación MD5 o .

  4. Instalar la distribución. Para instalar MySQL desde una dsitribución binaria, empleense las instrucciones en Sección 2.2, “Instalación MySQL estándar con una distribución binaria”. Para instalar MySQL a partir de una distribución de código fuente o desde el directorio de desarrollo actual, utilícense las instrucciones en Sección 2.8, “Instalación de MySQL usando una distribución de código fuente”.

    Nota: Si se planea actualizar una versión existente de MySQL a una versión más nueva en lugar de instalarlo por primera vez, consúltese Sección 2.10, “Aumentar la versión de MySQL” para obtener información acerca de procedimientos de actualización y de cuestiones que se deberían de considerar antes de actualizar.

    Si se encontrasen problemas durante la instalación, consúltese Sección 2.12, “Notas específicas sobre sistemas operativos” para obtener información sobre la resolución de problemas en plataformas específicas.

  5. Realizar cualquier ajuste que sea necesario con posterioridad a la instalación. Luego de instalar MySQL, léase Sección 2.9, “Puesta en marcha y comprobación después de la instalación”. Esta sección contiene información importante acerca de cómo asegurarse de que el servidor de MySQL está funcionando adecuadamente. También describe cómo hacer seguras las cuentas de usuario iniciales de MySQL, que no poseen contraseñas hasta que se les hayan asignado. Esta sección es de aplicación si MySQL se ha instalado utilizando tanto una distribución binaria como una de código fuente.

  6. Si se desea ejecutar los scripts para medir el rendimiento de MySQL, debe estar disponible el soporte de Perl para MySQL. Consúltese Sección 2.13, “Notas sobre la instalación de Perl”.

2.1. Cuestiones generales sobre la instalación

Antes de instalar MySQL, se debería hacer lo siguiente:

  1. Determinarse si la plataforma donde se desea hacer la instalación está soportada.

  2. Elegirse la distribución que se instalará.

  3. Descargar la distribución que se desea instalar y verificar su integridad.

Esta sección contiene la información necesaria para llevar adelante estos pasos. Una vez ejecutados, se puede seguir las instrucciones de secciones posteriores del capítulo, para instalar la distribución elegida.

2.1.1. Sistemas operativos que MySQL soporta

En esta sección aparecen listados los sistemas operativos en los que es posible instalar MySQL.

Se ha utilizado GNU Autoconfig, de modo que es posible portar MySQL a todos los sistemas modernos que tengan un compilador de C++ y una implementación funcional de subprocesos (threads) POSIX. (El soporte de subprocesos es necesario para el servidor. Para compilar únicamente el código del cliente, no se requiere más que el compilador de C++). Nosotros mismos desarrollamos y utilizamos el software ante todo en Linux (SuSE y Red Hat), FreeBSD, y Sun Solaris (Versiones 8 y 9),

MySQL ha sido compilado correctamente en las siguientes combinaciones de sistemas operativos y paquetes de subprocesos. Nótese que, para varios sistemas operativos, el soporte nativo de subprocesos funciona solamente en las versiones más recientes.

No todas las plataformas son igualmente aptas para ejecutar MySQL. Los siguientes factores determinan si una plataforma está más o menos bien preparada para un servidor MySQL con alto volumen de carga y para misiones crítica:

  • Estabilidad general de la biblioteca de subprocesos. Una plataforma puede tener una excelente reputación en otras situaciones, pero MySQL es estable como lo sea la biblioteca de subprocesos que utiliza la plataforma, aun cuando cualquier otro aspecto sea perfecto.

  • La capacidad del núcleo o kernel del sistema operativo y de la biblioteca de subprocesos para aprovechar sistemas de multiprocesamiento simétrico (SMP). En otras palabras, cuando un proceso crea un subproceso, éste debería poderse ejecutar en una CPU diferente a la del proceso original.

  • La capacidad del núcleo o kernel del sistema operativo y de la biblioteca de subprocesos para ejecutar varios subprocesos que bloquean y liberan mutexes frecuentemente en una pequeña región crítica sin excesivos cambios de contexto. Si la implementación de es muy proclive a consumir tiempo de CPU, esto afectará en gran manera a MySQL. Si no se previene este problema, añadir más CPUs hará todavía más lento a MySQL.

  • El rendimiento y la estabilidad general del sistema de ficheros.

  • Si se emplean grandes tablas, la capacidad del sistema de ficheros para gestionar eficientemente archivos de gran tamaño.

  • El nivel de experiencia que los desarrolladores de MySQL AB posean sobre una determinada plataforma. Si la conocen bien, habilitan optimizaciones específicas y soluciones en tiempo de compilación. Además pueden proporcionar consejos sobre cómo configurar el sistema en forma óptima para MySQL.

  • El volumen de pruebas realizadas por MySQL AB sobre configuraciones similares.

  • La cantidad de usuarios que han ejecutado MySQL con éxito en la misma plataforma y en configuraciones similares. Si este número es alto, las probabilidades de encontrar sorpresas específicas de la plataforma son mucho menores.

En base a estos criterios, las mejores plataformas para ejecutar MySQL en este momento son x86 con SuSE Linux (kernel versión 2.4 o 2.6), y ReiserFS (o cualquier distribución de Linux similar) y SPARC con Solaris (2.7-9). FreeBSD aparece en tercer lugar, pero es de esperar que se integre al lote principal cuando se mejore la biblioteca de subprocesos. También las otras plataformas donde MySQL se compila y ejecuta en la actualidad podrian ser incluidas en la categoria principal, pero no con el mismo nivel de estabilidad y rendimiento. Esto requiere un esfuerzo por parte de los desarrolladores de MySQL en cooperación con los desarrolladores de los sistemas operativos y de bibliotecas de componentes de las que depende MySQL. Si Usted está interesado en mejorar alguno de estos componentes, está en posición de influir en su desarrollo, y necesita información más detallada acerca de lo que MySQL requiere para funcionar mejor, envíe un mensaje de correo electrónico a la lista de correo de MySQL. Consulte Sección 1.6.1.1, “Las listas de correo de MySQL”.

El propósito de la anterior comparación no es afirmar que un sistema es, en términos generales, mejor o peor que otro. Se trata solamente de la elección de un sistema operativo con el objetivo de ejecutar MySQL. Por lo tanto, el resultado de la comparación podría ser diferente si se consideraran otros factores. En algunos casos, la razón de que un sistema operativo sea mejor que otros podría residir simplemente en que los desarrolladores de MySQL han podido dedicar más esfuerzos a la prueba y optimización sobre una plataforma en particular. Lo aquí manifestado son las observaciones de estos desarrolladores a fin de ayudar al usuario a decidir la plataforma sobre la que ejecutar MySQL.

2.1.2. Escoger la distribución MySQL a instalar

Como parte de los preparativos para instalar MySQL, debe decidirse qué versión se utilizará. El desarrollo de MySQL se divide en entregas (releases) sucesivas, y el usuario puede decidir cuál es la que mejor satisface sus necesidades. Después de haber elegido la versión a instalar, se debe optar por un formato de distribución. Las entregas están disponibles en formato binario o código fuente.

2.1.2.1. Escoger la versión de MySQL a instalar

La primera decisión a tomar es si se desea emplear una entrega "en producción" (estable) o una entrega de desarrollo. En el proceso de desarrollo de MySQL coexisten múltiples entregas, cada una con un diferente estado de madurez:

  • MySQL 5.1 es la próxima serie de entregas de desarrollo, y en ella se implementarán las nuevas características. En breve se pondrán a disposición de los usuarios interesados en hacer pruebas integrales las entregas Alfa.

  • MySQL 5.0 es la serie de entregas estables (para producción). Solamente se liberan nuevas entregas para corrección de errores, no se añaden nuevas características que pudieran afectar a la estabilidad.

  • MySQL 4.1 es la anterior serie de entregas estables (para producción). Se liberarán nuevas entregas para solucionar problemas de seguridad o errores críticos. En esta serie no se agregarán nuevas caracteristicas de importancia.

  • MySQL 4.0 y 3.23 son las antiguas series de entregas estables (para producción). Estas versiones están discontinuadas, de modo que solamente se liberarán nuevas entregas para solucionar errores de seguridad extremadamente críticos.

Los desarrolladores de MySQL no son partidarios de la "congelación" total del código de una versión, puesto que anula la posibilidad de introducir soluciones a errores. Cuando se habla de algo “congelado” se quiere expresar que no se harán más que pequeñas modificaciones que no deberían afectar a la forma en que funciona actualmente una entrega en un entorno de producción. Naturalmente, los errores que se corrigen en una serie se propagan a las siguientes si son relevantes.

Si el usuario está comenzando a emplear MySQL por primera vez o intentando su implementación en un sistema para el que no hay una distribución binaria, es recomendable instalar una entrega perteneciente a una serie en producción. Actualmente, MySQL 5.0. Todas las entregas de MySQL, aun aquellas pertenecientes a una serie en desarrollo, se verifican con las pruebas de rendimiento de MySQL y se prueban extensamente antes de liberarse.

Si se está ejecutando una versión más antigua y se desea actualizar, pero se quiere evitar un cambio brusco con el consiguiente riesgo de incompatibilidades, debería actualizarse a la última versión dentro de la misma serie de entregas que se utiliza actualmente (es decir, aquélla donde únicamente la última parte del número de versión es más nueva que la actual). En dicha versión los desarrolladores de MySQL han tratado de corregir solamente errores fatales y realizar cambios pequeños, relativamente “seguros”.

Si se desea emplear características nuevas que no están en las entregas para ambientes de producción, habrá que utilizar una versión perteneciente a una serie de entregas en desarrollo. Hay que tener en cuenta que las entregas de desarrollo no son tan estables como las que están en producción.

Si lo que se desea es emplear el código fuente más actualizado disponible, que contenga todas las correcciones y esté libre de bugs, se debería emplear uno de los repositorios BitKeeper, que no son “entregas” propiamente dichas, pero es el código en el que se basarán las entregas futuras.

El esquema de denominaciones de MySQL emplea para las entregas nombres consistentes en tres números y un sufijo; por ejemplo, mysql-5.0.9-beta. Los números dentro del nombre de la entrega se interpretan como sigue:

  • El primer número (5) es la versión principal y describe el formato de fichero. Todas las entregas de la versión 5 comparten el mismo formato para sus ficheros.

  • El segundo número (0) es el nivel de entrega. En conjunto, la versión principal y el nivel de entrega constituyen el número de la serie.

  • El tercer número (9) es el número de versión dentro de la serie. Se incrementa para cada nueva entrega. Usualmente es deseable poseer la última versión dentro de la serie que se está usando.

Para los cambios menores, el que se incrementa es el último número en la denominación de la versión. Cuando se adicionan características de importancia o aparecen incompatibilidades menores con versiones precedentes, se incrementa el segundo número. Cuando cambia el formato de los ficheros, se incrementa el primer número.

Las denominaciones de las entregas también incluyen un sufijo para indicar el grado de estabilidad. Una entrega progresa a través de un conjunto de sufijos a medida que mejora su estabilidad. Los posibles sufijos son:

  • alpha indica que la entrega contiene características nuevas que no han sido plenamente probadas. Asimismo, en la sección "Novedades" deberían estar documentados los errores conocidos, aunque usualmente no los hay. Consulte Apéndice C, Historial de cambios de MySQL. Por lo general, en cada entrega alpha se implementan nuevos comandos y extensiones, y es la etapa donde puede producirse la mayor cantidad de cambios en el código. Sin embargo, debido a las pruebas realizadas, no deberían existir errores conocidos.

  • beta significa que la entrega está destinada a poseer sus características completas y que se probó todo el código nuevo. No se agregan características de importancia, y no deberían existir errores críticos. Una versión cambia de alpha a beta cuando no se han descubierto errores fatales durante al menos un mes, y no hay planes de agregar características que pudieran comprometer la fiabilidad del código existente.

    Todas las APIs, las estructuras visibles externamente y las columnas para comandos SQL no se modificarán en las futuras entregas, sean beta, candidatas, o de producción.

  • rc es una entrega candidata; o sea, una beta que ha estado funcionando un intervalo de tiempo y parece hacerlo bien. Solamente podrían ser necesarias correcciones menores. (Una entrega candidata es formalmente conocida como una entrega gamma.)

  • Si no hay un sufijo, significa que la versión se ha estado utilizando por un tiempo en diferentes sitios sin que se informaran errores críticos reproducibles, más allá de los específicos de una plataforma. Esto es lo que se llama una entrega de producción (estable) o “General Availability” (GA).

MySQL utiliza un esquema de denominaciones ligeramente diferente a muchos otros productos. En general, se considera segura para usar una versión que ha durado un par de semanas sin ser reemplazada por una nueva dentro de la misma serie de entregas.

La totalidad de las entregas de MySQL se someten a pruebas de fiabilidad y rendimiento (estándares dentro de MySQL) para cerciorarse de que son relativamente seguras de utilizar. Puesto que las pruebas estándar son ampliadas cada vez para que incluyan todos los errores anteriormente descubiertos, el conjunto de pruebas se mejora continuamente.

Cada entrega se prueba al menos con:

Otra prueba consiste en utilizar la versión más reciente del servidor en el entorno de producción de MySQL, en al menos un ordenador. Se dispone de más de 100GB de datos para este fin.

2.1.2.2. Escoger un formato de distribución

Después de haber decidido qué versión de MySQL instalar, se debe elegir entre una distribución binaria o una de código fuente. Probablemente la elección más frecuente sea la distribución binaria, si existe una para la plataforma en cuestión. Hay distribuciones binarias disponibles en formato nativo para muchas plataformas, como los ficheros RPM para Linux, paquetes de instalación DMG para Mac OS X, y ficheros comprimidos Zip y tar.

Algunas razones a favor de la elección de una distribución binaria:

  • Es más fácil de instalar que una distribución de código fuente.

  • Para satisfacer distintos requerimientos de usuarios, se facilita dos versiones binarias diferentes: una que contiene motores de almacenamiento no transaccionales (más pequeña y rápida) y una configurada con las más importantes opciones, como por ejemplo tablas transaccionales. Ambas versiones se compilan a partir de la misma distribución de código fuente. Todos los clientes MySQL nativos pueden conectarse a ambas versiones indistintamente.

    La versión binaria extendida de MySQL está señalada con el sufijo y está configurada con las mismas opciones que mysqld-max. Consulte Sección 5.1.2, “El servidor extendido de MySQL mysqld-max.

    Si se desea utilizar en formato RPM, primero debe instalarse el RPM de estándar.

Bajo ciertas circunstancias, puede ser mejor instalar MySQL a partir de una distribución de código fuente:

  • Cuando se desea instalar MySQL en una ubicación especial. Las distribuciones binarias estándar están listas para ejecutarse en cualquier sitio, pero podria ser necesaria aún más flexibilidad en la elección de la ubicación de los componentes.

  • Cuando se desea configurar mysqld con algunas características adicionales que no se encuentran incluídas en las distribuciones binarias estándar. La siguiente es una lista de las opciones adicionales más comunes:

    • (habilitado por defecto en todas las entregas binarias de la serie 5.0 de MySQL)

    • (no está disponible en todas las plataformas)

    • (en algunas distribuciones binarias ya está incluido)

    • ]

  • Cuando se desea excluir de mysqld algunas características presentes en las distribuciones binarias estándar. Por ejemplo, estas distribuciones se compilan normalmente con soporte para todos los conjuntos de caracteres. Si se deseara un servidor MySQL más liviano, se lo puede recompilar con soporte solamente para el conjunto de caracteres que se necesita.

  • Cuando se posee un compilador especial (como ) o se desea utilizar opciones de compilación optimizadas para un determinado procesador. Las distribuciones binarias se compilan con opciones que deberían funcionar en diversos procesadores de la misma familia.

  • Cuando se desea emplear la última versión de código fuente desde un repositorio BitKeeper, para acceder a modificaciones recientes. Por ejemplo, si se detecta un error y se comunica al equipo de desarrollo de MySQL, la corrección se realiza sobre el código fuente, que queda almacenado en el repositorio. La primera entrega con esta corrección será la siguiente.

  • Cuando se desea leer (o modificar) el código en C y C++ que conforma MySQL. Para este fin, se debería poseer una distribución de código fuente, ya que es la documentación más actualizada.

  • Las distribuciones de código fuente contienen más pruebas y ejemplos que las distribuciones binarias.

2.1.2.3. Cómo y cuándo se entregan las actualizaciones

MySQL evoluciona con rapidez, y sus desarrolladores desean compartir el desarrollo con los usuarios. Se intenta producir una entrega cada vez que se incorpora nuevas características que pueden ser útiles para otros.

También se escucha a los usuarios que solicitan características sencillas de implementar. Se toma nota de lo que los usuarios con licencia desean, y especialmente de lo que solicitan los clientes de soporte, intentando actuar al respecto.

No es necesario descargar una entrega para conocer sus características, puesto que se puede dilucidar si una entrega posee determinada característica en la sección Novedades. Consulte Apéndice C, Historial de cambios de MySQL.

MySQL se rige por la siguiente política de actualizaciones:

  • Las entregas se liberan dentro de cada serie. Para cada entrega, el último número en la versión es uno más que en la entrega anterior dentro de la misma serie.

  • Las entregas de producción (estables) tienden a aparecer 1 o 2 veces por año. Sin embargo, de hallarse pequeños bugs, se libera una entrega con solamente correcciones.

  • Las entregas de corrección para viejas entregas tienden a aparecer cada 4 u 8 semanas.

  • De cada entrega principal Mysql AB realiza distribuciones binarias para algunas plataformas. Otros sujetos pueden realizar distribuciones binarias para otros sistemas, pero probablemente con menos frecuencia.

  • Las correcciones están disponibles tan pronto se identifican errores pequeños o no críticos, pero que igualmente afectan al uso normal de MySQL. Se colocan en el repositorio público BitKeeper, y se incluyen en la entrega siguiente.

  • Si por cualquier motivo se descubre un error fatal en una entrega, la política de MySQL es corregirlo mediante una nueva entrega, tan pronto como sea posible. (¡Y veríamos con agrado que otras compañías hicieran lo mismo!).

2.1.2.4. Filosofía de las entregas—No hay bugs conocidos en las entregas

Se dedica gran cantidad de tiempo y esfuerzo en producir entregas libres de errores. Que se tenga conocimiento, no se ha liberado una sola versión de MySQL con errores fatales reproducibles conocidos. (Un error “fatal” es uno que provoca la terminación abrupta de MySQL bajo condiciones de uso normales, que produce respuestas incorrectas para consultas normales, o que tiene problemas de seguridad).

Se han documentado todos los problemas, errores y cuestiones que dependen de decisiones de diseño. Consulte Sección A.8, “Problemas conocidos en MySQL”.

La intención de los desarrolladores es corregir todo lo que tenga solución sin afectar a la estabilidad de una versión estable de MySQL. En ciertos casos, esto significa que se puede corregir un error en las versiones en desarrollo, pero no en la versión estable (de producción). De todos modos estos errores se documentan para que los usuarios estén al tanto de ellos.

El proceso de desarrollo comprende las siguientes etapas:

  • Se recolectan informes de errores desde la lista de soporte técnico, desde la base de datos de errores en http://bugs.mysql.com/, y desde las listas de correo externas.

  • Todos los errores hallados en versiones con soporte, se introducen en la base de datos de errores.

  • Cuando se corrige un error, se intenta crear un caso de prueba e incluirlo en el sistema de pruebas, para tener seguridad de que el error no vuelva a ocurrir sin ser detectado. (Cerca del 90% de los errores corregidos tienen un caso de prueba).

  • Se crean casos de prueba para cada nueva característica que se agrega a MySQL.

  • Antes de crear una entrega, se verifica que todos los errores reproducibles informados para esa versión de MySQL (3.23.x, 4.0.x, 4.1.x, 5.0.x, etc.) están solucionados. Si alguno no pudiera corregirse (debido a una decisión de diseño) esto se documenta en el manual. Consulte Sección A.8, “Problemas conocidos en MySQL”.

  • Se hace una compilación para cada plataforma para la que se brinda una distribución binaria (más de 15) y se ejecutan pruebas de fiabilidad y rendimiento en todas ellas.

  • No se publica una distribución binaria para una plataforma en la que fallaron las pruebas de fiabilidad o rendimiento. Si el problema se debe a un error en el código fuente, se resuelve, y para todas las plataformas se vuelve a compilar y probar.

  • El proceso de compilación y prueba dura entre 2 y 3 días. Si durante el proceso se descubre un error fatal (por ejemplo, uno que genere un fichero de volcado del núcleo), se corrige el error y el proceso recomienza.

  • Después de publicar la distribución binaria en http://dev.mysql.com/, se envía un mensaje con la novedad a las listas de correo y . Consulte Sección 1.6.1.1, “Las listas de correo de MySQL”. El mensaje contiene una lista con todos los cambios y problemas conocidos que contiene la entrega. La sección Known Problems (problemas conocidos) solo ha sido necesaria en una pequeña cantidad de entregas.

  • Para que los usuarios accedan rápidamente a las nuevas características de MySQL, se produce una entrega nuevo cada 4 a 8 semanas. El código fuente se prepara diariamente y se pone a disposición en http://downloads.mysql.com/snapshots.php.

  • Si, a pesar de los esfuerzos realizados, se toma conocimiento de un error o problema crítico específicos de una plataforma después de que una entrega haya sido liberada, se genera una nueva entrega con la corrección para la plataforma afectada. Gracias a la gran base de usuarios, cualquier problema se detecta y resuelve muy rápidamente.

  • El trabajo del equipo de desarrollo en la generación de entregas estables es bastante bueno. De las últimas 150 entregas, se han debido rehacer menos de diez. En tres de estos casos, el error se debió a defectos en la biblioteca en uno de los ordenadores de desarrollo, que llevó tiempo descubrir.

2.1.2.5. Binarios de MySQL compilados por MySQL AB

Uno de los servicios que MySQL AB ofrece es proveer un conjunto de distribuciones binarias compiladas en sistemas propios o amablemente proporcionados por adeptos de MySQL.

A parte de las distribuciones binarias provistas en formatos específicos de algunas plataformas, se ofrecen distribuciones binarias para una serie de plataformas en forma de ficheros comprimidos tar (ficheros ). Consulte Sección 2.2, “Instalación MySQL estándar con una distribución binaria”.

Para distribuciones Windows, consulte Sección 2.3, “Instalar MySQL en Windows”.

Estas distribuciones se generan empleando el script , que compila el código fuente y crea el fichero binario empleando scripts/make_binary_distribution.

Estos binarios están configurados y compilados con los siguientes compiladores y opciones de compilación. Esta información también puede obtenerse observando las variables y dentro del script bin/mysqlbug de cada fichero de distribución binaria tar.

Los siguientes binarios se compilan en los sistemas de desarrollo de MySQL AB:

  • Linux 2.4.xx x86 con gcc 2.95.3:

  • Linux 2.4.x x86 con icc (compilador Intel C++ 8.1 o posterior):

    Obsérvese que las versiones 8.1 y posteriores del compilador Intel tienen drivers separados para C 'puro' () y c++ (); si se utiliza icc versión 8.0 o anterior para compilar MySQL, será necesario establecer .

  • Linux 2.4.xx Intel Itanium 2 con ecc (Compilador Intel C++ Itanium 7.0):

  • Linux 2.4.xx Intel Itanium con ecc (Compilador Intel C++ Itanium 7.0):

  • Linux 2.4.xx alpha con (Compaq C V6.2-505 / Compaq C++ V6.3-006):

  • Linux 2.x.xx ppc con gcc 2.95.4:

  • Linux 2.4.xx s390 con gcc 2.95.3:

  • Linux 2.4.xx x86_64 (AMD64) con gcc 3.2.1:

  • Sun Solaris 8 x86 con gcc 3.2.3:

  • Sun Solaris 8 SPARC con gcc 3.2:

  • Sun Solaris 8 SPARC 64-bit con gcc 3.2:

  • Sun Solaris 9 SPARC con gcc 2.95.3:

  • Sun Solaris 9 SPARC con (Sun Forte 5.0):

  • IBM AIX 4.3.2 ppc con gcc 3.2.3:

  • IBM AIX 4.3.3 ppc con (IBM Visual Age C/C++ 6.0):

  • IBM AIX 5.1.0 ppc con gcc 3.3:

  • IBM AIX 5.2.0 ppc con (IBM Visual Age C/C++ 6.0):

  • HP-UX 10.20 pa-risc1.1 con gcc 3.1:

  • HP-UX 11.00 pa-risc con (HP ANSI C++ B3910B A.03.50):

  • HP-UX 11.11 pa-risc2.0 64bit con (HP ANSI C++ B3910B A.03.33):

  • HP-UX 11.11 pa-risc2.0 32bit con (HP ANSI C++ B3910B A.03.33):

  • HP-UX 11.22 ia64 64bit con (HP aC++/ANSI C B3910B A.05.50):

  • Apple Mac OS X 10.2 powerpc con gcc 3.1:

  • FreeBSD 4.7 i386 con gcc 2.95.4:

  • FreeBSD 4.7 i386 empleando LinuxThreads con gcc 2.95.4:

  • QNX Neutrino 6.2.1 i386 con gcc 2.95.3qnx-nto 20010315:

Las siguientes distribuciones binarias están compiladas sobre sistemas de terceros, facilitados por otros usuarios a MySQL AB. Se facilitan solamente por cortesía, ya que MySQL AB no tiene control total sobre estos sistemas, por lo que sólo puede proporcionar un soporte limitado sobre las distribuciones compiladas en ellos.

  • SCO Unix 3.2v5.0.7 i386 con gcc 2.95.3:

  • SCO UnixWare 7.1.4 i386 con CC 3.2:

  • SCO OpenServer 6.0.0 i386 con CC 3.2:

  • Compaq Tru64 OSF/1 V5.1 732 alpha con (Compaq C V6.3-029i / DIGITAL C++ V6.1-027):

  • SGI Irix 6.5 IP32 con gcc 3.0.1:

  • FreeBSD/sparc64 5.0 con gcc 3.2.1:

Las siguientes opciones de compilación han sido empleadas en distribuciones binarias en el pasado. Estas distribuciones ya no reciben actualizaciones, pero las opciones de compilación se listan para referencia.

  • Linux 2.2.xx SPARC con egcs 1.1.2:

  • Linux 2.2.x con x686 con gcc 2.95.2:

  • SunOS 4.1.4 2 sun4c con gcc 2.7.2.1:

  • SunOS 5.5.1 (y posteriores) sun4u con egcs 1.0.3a o 2.90.27 o

    gcc 2.95.2 y posteriores:

  • SunOS 5.6 i86pc con gcc 2.8.1:

  • BSDI BSD/OS 3.1 i386 con gcc 2.7.2.1:

  • BSDI BSD/OS 2.1 i386 con gcc 2.7.2:

  • AIX 4.2 con gcc 2.7.2.2:

Si alguien tiene opciones más efectivas para cualquiera de las configuraciones listadas, puede enviarlas por correo electrónico a la lista de correo MySQL . Consulte Sección 1.6.1.1, “Las listas de correo de MySQL”.

Las distribuciones RPM para entregas de MySQL 5.0 disponibles en el sitio web de MySQL están generadas por MySQL AB.

Si desea compilar una versión de depuración de MySQL, debería agregar o a los comandos configure anteriores, y quitar cualquier opción .

2.1.3. Cómo obtener MySQL

Consulte la página de descargas de MySQL (http://dev.mysql.com/downloads/) para obtener información acerca de la versión más actualizada e instrucciones de descarga. Para obtener una lista actualizada de los sitios de replicación que también ofrecen descargas de MySQL, consulte http://dev.mysql.com/downloads/mirrors.html. Encontrará información acerca de cómo constituir un sitio de replicación y de cómo informar sobre un sitio de replicación que esté funcionando mal o esté desactualizado.

El principal sitio de replicación se encuentra en http://mirrors.sunsite.dk/mysql/.

2.1.4. Comprobar la integridad de paquetes con sumas de verificación MD5 o GnuPG

Después de descargar la distribución de MySQL que se adecúe a las necesidades del caso y antes de proceder a su instalación, se debería verificar su integridad. MySQL AB ofrece tres posibles formas de hacerlo:

  • Sumas de verificación (checksums) MD5

  • Firmas criptográficas empleando , el GNU Privacy Guard.

  • Para paquetes RPM, el mecanismo de verificación de integridad que incorporan estos paquetes.

Las siguientes secciones describen cómo emplear estos métodos.

Si se advierte que la suma de verificación MD5 o la firma GPG no coinciden, en primer lugar debe intentarse con una nueva descarga del paquete, quizá desde otro sitio de replicación. Si la verificación de la integridad del paquete fracasa repetidas veces, se debe notificar el incidente a MySQL AB, informando del nombre completo del paquete y del sitio de donde se descargó, a las direcciones o . No debe utilizarse el sistema de informe de errores para comunicar problemas de descarga.

2.1.4.1. Comprobar la suma de verificación MD5

Después de haber descargado un paquete MySQL, se debería estar seguro de que su suma de verificación (checksum) MD5 concuerda con la provista en la página de descarga. Cada paquete tiene una suma de verificación individual, que se puede verificar mediante el siguiente comando, donde es el nombre del paquete descargado:

shell> md5sum package_name

Ejemplo:

  shell> md5sum mysql-standard-5.0.9-beta-linux-i686.tar.gz
  aaab65abbec64d5e907dcd41b8699945  mysql-standard-5.0.9-beta-linux-i686.tar.gz

Se debería verificar que la suma de verificación resultante (la cadena de dígitos hexadecimales) concuerda con la que se muestra en la página de descargas inmediatamente debajo del paquete correspondiente.

Nota: lo que se debe comprobar es la suma de verificación del fichero comprimido (por ejemplo, el fichero o ) y no de los ficheros contenidos dentro del comprimido.

Hay que notar que no todos los sistemas operativos soportan el comando md5sum. En algunos, se llama simplemente md5 y otros, directamente no lo poseen. En Linux forma parte del paquete GNU Text Utilities, que está disponible para una gran variedad de plataformas. El código fuente puede bajarse desde http://www.gnu.org/software/textutils/. Si OpenSSL está instalado, también puede emplearse el comando openssl md5 package_name. Una versión para DOS/Windows del comando md5 se halla disponible en http://www.fourmilab.ch/md5/.

2.1.4.2. Verificación de firmas utilizando

Otro método para verificar la integridad y autenticidad de un paquete es utilizar firmas criptográficas. Esta manera es más fiable que las sumas de verificación MD5, pero requiere más trabajo.

MySQL AB firma los paquetes de MySQL 5.0 con GnuPG (GNU Privacy Guard). GnuPG es una alternativa de código abierto frente a la conocida Pretty Good Privacy (PGP) de Phil Zimmermann. Consulte http://www.gnupg.org/ para más información acerca de GnuPG y de cómo obtenerlo e instalarlo en su sistema. La mayoría de las distribuciones Linux incluyen GnuPG instalado por defecto. Para mayor información acerca de GnuPG consulte http://www.openpgp.org/.

A fin de verificar la firma de un paquete específico, antes se debe obtener una copia de la clave pública para GPG de MySQL AB. Se puede descargar de http://www.keyserver.net/. La clave está identificada como . Alternativamente, puede cortarse y copiarse la clave directamente del siguiente texto:

Key ID:
pub  1024D/5072E1F5 2003-02-03
     MySQL Package signing key (www.mysql.com) <[email protected]>
Fingerprint: A4A9 4068 76FC BD3C 4567  70C8 8C71 8D3B 5072 E1F5

Public Key (ASCII-armored):

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj
a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv
bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ
cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q
zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu
cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ
YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J
Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l
xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi
Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE
7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm
Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p
/1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq
a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf
anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW
I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu
QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92
6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ
Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A
n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ==
=YJkx
-----END PGP PUBLIC KEY BLOCK-----

Para incorporar esta clave dentro del GPG en uso, se emplea el comando gpg --import. Por ejemplo, si la clave estuviese guardada en un fichero llamado , el comando de importación tomaría esta forma:

shell> gpg --import mysql_pubkey.asc

Debe consultarse la documentación de GPG para obtener más información sobre el manejo de claves públicas.

Después de haber descargado e importado la clave pública, debe descargarse el paquete MySQL deseado y la correspondiente firma, que también se encuentra en la página de descargas. El fichero de firma tiene el mismo nombre que el fichero de distribución, con una extensión . Por ejemplo:

Fichero de distribución
Fichero de firma

Se debe verificar que ambos ficheros se encuentran en el mismo directorio y entonces ejecutar el siguiente comando para verificar la firma del fichero de distribución:

shell> gpg --verify package_name.asc

Ejemplo:

  shell> gpg --verify mysql-standard-5.0.9-beta-linux-i686.tar.gz.asc
  gpg: Signature made Tue 12 Jul 2005 23:35:41 EST using DSA key ID 5072E1F5
  gpg: Good signature from "MySQL Package signing key (www.mysql.com) <[email protected]>"

El mensaje indica que todo resultó correctamente. Puede ignorarse cualquier mensaje del tipo que se obtenga.

2.1.4.3. Verificar firmas utilizando

No existe una firma por separado para paquetes RPM. Estos paquetes tienen incorporadas la firma GPG y la suma de verificación MD5. Para verificar un paquete RPM se utiliza el siguiente comando:

shell> rpm --checksig package_name.rpm

Ejemplo:

shell> rpm --checksig MySQL-server-5.0.9-0.i386.rpm
MySQL-server-5.0.9-0.i386.rpm: md5 gpg OK

Nota: si está utilizando RPM 4.1 y emite mensajes de error del tipo , aun cuando se haya incorporado la clave pública dentro de las claves reconocidas por el GPG (keyring), se necesitará importar primero la clave pública dentro de las claves reconocidas (keyring) del RPM. RPM 4.1 ya no utiliza las claves reconocidas (keyring) personales (o GPG en sí mismo). En lugar de ello, mantiene su propio repositorio de claves (keyring) ya que constituye una aplicación a nivel de sistema, en tanto que el repositorio público de claves (keyring) de GPG es un fichero específico del usuario. Para importar la clave pública de MySQL dentro del repositorio de claves (keyring) del RPM, primero debe obtenerse la clave tal como se describe en la sección anterior. A continuación debe utilizarse rpm --import para importar la clave. Por ejemplo, si la clave pública se encuentra en un fichero llamado , se importa utilizando el siguiente comando:

shell> rpm --import mysql_pubkey.asc

Para obtener la clave pública de MySQL, consulte: Sección 2.1.4.2, “Verificación de firmas utilizando .

2.1.5. Conformación de la instalación

Esta sección describe la conformación por defecto de los directorios creados por el instalador binario y por las distribuciones de código fuente provistas por MySQL AB. Si se instala una distribución obtenida de otro proveedor, esta conformación podría variar.

En MySQL 5.0 para Windows, el directorio de instalación por defecto es . (Algunos usuarios de Windows prefieren realizar la instalación en el antiguo directorio por defecto, . De todos modos, la conformación de directorios permanece sin cambios). El directorio de instalación contiene los siguientes subdirectorios:

Directorio Contenido
Programas cliente y el servidor mysqld
Ficheros de registro (logs), bases de datos
Documentación
Programas y scripts de ejemplo
Ficheros de inclusión
Bibliotecas
Scripts de utilidades.
Ficheros con mensajes de error

Las instalaciones que se crean a partir de distribuciones RPM para Linux generadas por MySQL AB generan archivos bajo los siguientes directorios deL sistema:

Directorio Contenido
Programas cliente y scripts
El servidor mysqld
Ficheros de registro (logs), bases de datos
Documentación
Ficheros de inclusión
Bibliotecas
Ficheros con mensajes de error y conjuntos de caracteres
Pruebas de rendimiento

En Unix, un fichero binario de distribución tar se instala descomprimiéndolo en la ubicación que se escoja para la instalación (generalmente ) y crea los siguientes directorios en dicha ubicación:

Directorio Contenido
Programas cliente y el servidor mysqld
Ficheros de registro (logs), bases de datos.
Documentación, registro de modificaciones.
Ficheros de inclusión
Bibliotecas
mysql_install_db
Ficheros con mensajes de error
Pruebas de rendimiento

Una distribución de código fuente se instala después de haberla configurado y compilado. Por defecto, la etapa de instalación crea ficheros bajo , en los siguientes subdirectorios:

Directorio Contenido
Programas cliente y scripts
Ficheros de inclusión
Documentación en formato "Info"
Bibliotecas
El servidor mysqld
Ficheros con mensajes de error
Pruebas de rendimiento y
Bases de datos y ficheros de registro (logs)

Dentro de su directorio de instalación, la conformación de una instalación de código fuente difiere de una binaria en los siguientes aspectos:

  • El servidor mysqld se instala en el directorio en lugar de en el directorio .

  • El directorio para los datos es en lugar de .

  • mysql_install_db se instala en el directorio en lugar de .

  • Los directorios de ficheros de inclusión y bibliotecas son y en lugar de y .

Se puede crear una instalación binaria propia a partir de una distribución de código fuente compilada si se ejecuta el script desde el directorio principal de la distribución de código fuente.