2.3. Instalar MySQL en Windows

MySQL 5.0

2.3. Instalar MySQL en Windows

Desde la versión 3.21, MySQL AB proporciona una versión Windows nativa de MySQL, que representa un apreciable porcentaje de las descargas diarias de MySQL. Esta sección describe el proceso para instalar MySQL en Windows.

El instalador para la versión Windows de MySQL 5.0, en conjunto con un asistente de configuración dotado de interfaz gráfica, instala automáticamente MySQL, crea un fichero de opciones, inicia el servidor, y otorga seguridad a las cuentas de usuario por defecto.

Si se está actualizando una instalación existente de MySQL anterior a la versión 4.1.5, deben observarse los siguientes pasos:

  1. Obtener e instalar la distribución.

  2. Establecer un fichero de opciones, de ser necesario.

  3. Seleccionar el servidor que se desea emplear.

  4. Iniciar el servidor.

  5. Colocar contraseñas a las cuentas MySQL creadas inicialmente.

Este proceso también debe realizarse con instalaciones nuevas de MySQL, cuando el paquete de instalación no incluya un instalador.

MySQL 5.0 para Windows está disponible en tres formatos de distribución:

  • La distribución binaria contiene un programa de instalación que instala cada elemento necesario para iniciar el servidor inmediatamente.

  • La distribución de código fuente contiene todo el código y ficheros de soporte para generar ejecutables utilizando el compilador de VC++ 6.0

Siempre que sea posible debería emplearse la distribución binaria. Es más simple que las otras y no se necesita ninguna herramienta adicional para poner en funcionamiento el servidor MySQL.

Esta sección explica cómo instalar MySQL para Windows utilizando una distribución binaria. Para realizar la instalación a partir de una distribución de código fuente, consulte Sección 2.8.6, “Instalar MySQL desde el código fuente en Windows”.

2.3.1. Requisitos de Windows

Para ejecutar MySQL para Windows, se necesita lo siguiente:

  • Un sistema operativo Windows de 32 bits, tal como 9x, Me, NT, 2000, XP, o Windows Server 2003.

    Se recomienda fuertemente el uso de un sistema operativo Windows basado en NT (NT, 2000, XP, 2003) puesto que éstos permiten ejecutar el servidor MySQL como un servicio. Consulte Sección 2.3.12, “Arrancar MySQL como un servicio de Windows”.

  • Soporte para protocolo TCP/IP.

  • Una copia de la distribución binara de MySQL para Windows, que se puede descargar de http://dev.mysql.com/downloads/. Consulte Sección 2.1.3, “Cómo obtener MySQL”.

    Nota: Si se descarga la distribución a través de FTP, se recomienda el uso de un cliente FTP adecuado que posea la característica de reanudación (resume) para evitar la corrupción de ficheros durante el proceso de descarga.

  • Una herramienta capaz de leer ficheros , para descomprimir el fichero de distribución.

  • Suficiente espacio en disco rígido para descomprimir, instalar, y crear las bases de datos de acuerdo a sus requisitos. Generalmente se recomienda un mínimo de 200 megabytes.

También podrían necesitarse los siguientes ítems opcionales:

2.3.2. Elección de un paquete de instalación

En la versión 5.0 de MySQL hay tres paquetes de instalación para elegir cuando se instala MySQL para Windows. Son los siguientes:

  • El paquete Essentials: Tiene un nombre de fichero similar a y contiene los ficheros mínimamente necesarios para instalar MySQL en Windows, incluyendo el asistente de configuración. Este paquete no incluye componentes opcionales como el servidor incrustado (embedded) y el conjunto de pruebas de rendimiento (benchmarks).

  • El paquete Complete (Completo): Tiene un nombre de fichero similar a y contiene todos los archivos necesarios para una instalación completa bajo Windows, incluyendo el asistente de configuración. Este paquete incluye componentes opcionales como el servidor incrustado (embedded) y el conjunto de pruebas de rendimiento (benchmarks).

  • El Paquete Noinstall (Noinstall Archive): Tiene un nombre de fichero similar a y contiene todos los ficheros contenidos en el paquete Complete, a excepción del asistente de configuración. Este paquete no incluye un instalador automatizado, y debe ser instalado y configurado manualmente.

El paquete Essentials es el recomendado para la mayoría de los usuarios.

El proceso de instalación que se siga depende del paquete de instalación escogido. Si se opta por instalar ya sea el paquete Complete o Essentials, consúltese Sección 2.3.3, “Instalación de MySQL con un instalador automático”. Si se opta por instalar MySQL a partir del paquete Noinstall, consúltese Sección 2.3.6, “Instalar MySQL partiendo de un archivo Zip Noinstall”.

2.3.3. Instalación de MySQL con un instalador automático

Los usuarios nuevos de MySQL 5.0 pueden emplear el asistente de instalación y el asistente de configuración para instalar MySQL en Windows. Éstos están diseñados para instalar y configurar MySQL de tal forma que los usuarios nuevos pueden comenzar a utilizar MySQL inmediatamente.

Los asistentes de instalación y configuración se encuentran disponibles en los paquetes Essentials y Complete, y están recomendados para la mayoría de las instalaciones estándar de MySQL. Las excepciones incluyen a usuarios que necesitan implementar múltiples instancias de MySQL en un único servidor y a usuarios avanzados que desean un control completo de la configuración del servidor.

2.3.4. Usar el asistente de instalación de MySQL

2.3.4.1. Introducción

El asistente de instalación es un instalador para el servidor MySQL que emplea las últimas tecnologías de instalador para Microsoft Windows. El Asistente de Instalación de MySQL, en combinación con el asistente de configuración, le permite a un usuario instalar y configurar un servidor MySQL que esté listo para el uso inmediatamente a continuación de la instalación.

El asistente de instalación MySQL es el instalador estándar para todas las distribuciones del Servidor MySQL 5.0. Los usuarios de versiones anteriores de MySQL deberán detener y desinstalar sus servidores existentes antes de realizar una instalación con el asistente de instalación de MySQL. Consulte Sección 2.3.4.7, “Aumentar la versión MySQL” para más información acerca de actualizar una versión anterior.

Microsoft incluyó una versión mejorada de su Microsoft Windows Installer (Instalador de Microsoft Windows, MSI) en las versiones recientes de Windows. MSI se ha convertido en el estándar de facto para la instalación de aplicaciones bajo Windows 2000, Windows XP, y windows Server 2003. El asistente de instalación MySQL emplea esta tecnología para proporcionar un proceso de instalación más flexible y amigable.

El motor del instalador de Microsoft Windows fue actualizado en Windows XP; quienes utilicen una versión previa de Windows pueden remitirse a este artículo de la Base de Conocimiento de Microsoft para obtener información sobre cómo actualizar a la última versión de MSI.

Adicionalmente, Microsoft introdujo recientemente el conjunto de herramientas WiX (Instalador de Windows XML). Éste es el primer proyecto Open Source reconocido de Microsoft. Los desarrolladores de MySQL han optado por WiX porque es un proyecto Open Source y les permite manejar el proceso completo de instalación en Windows de una manera flexible, utilizando scripts.

Las mejoras al asistente de instalación MySQL dependen del soporte y comentarios recibidos de los usuarios. Si Usted descubre que el asistente de instalación está dejando de lado alguna característica que le resulte importante, o si halla un error, por favor emplee nuestro sistema de errores MySQL para solicitar características o informar sobre problemas.

2.3.4.2. Bajarse y arrancar el asistente de instalación de MySQL

Los paquetes de instalación del servidor MySQL pueden descargarse desde http://dev.mysql.com/downloads/. Si el paquete a descargar está contenido en un fichero ZIP, se deberá descomprimir el fichero antes.

El procedimiento para ejecutar el asistente de instalación depende del contenido del paquete descargado. Si existe un fichero o , al hacerles doble click comenzará la instalación.

2.3.4.3. Escoger un tipo de instalación

Hay disponibles tres tipos de instalación: típica, completa, y personalizada.

La instalación típica instala el servidor MySQL, el cliente de línea de comandos mysql, y las utilidades de línea de comandos. Los clientes y utilidades incluyen mysqldump, myisamchk, y otras herramientas que ayudan a administrar el servidor MySQL.

La instalación completa instala todos los componentes incluidos en el paquete. El paquete completo incluye componentes como el servidor incrustado (embedded), el conjunto de pruebas de rendimiento (benchmarks), scripts de mantenimiento, y documentación.

La instalación personalizada otorga un control completo sobre los paquetes que se desea instalar y el directorio de instalación que se utilizará. Consulte Sección 2.3.4.4, “La ventana de diálogo de instalación personalizada” para más información sobre cómo llevar a cabo una instalación personalizada.

Si se escoge la instalación típica o la completa, al hacer click sobre el botón Siguiente se avanza a la pantalla de confirmación para verificar las opciones y comenzar la instalación. Si se escoge la instalación personalizada, al hacer click sobre el botón Siguiente, se avanza al cuadro de diálogo de instalación personalizada, descrito en Sección 2.3.4.4, “La ventana de diálogo de instalación personalizada”

2.3.4.4. La ventana de diálogo de instalación personalizada

Si se desea cambiar el directorio de instalación o los componentes que se instalarán, se deberá elegir el tipo de instalación personalizada.

Todos los componentes disponibles se encuentran en un diagrama de árbol en el lado izquierdo del cuadro de diálogo de instalación personalizada. Los componentes que no serán instalados tienen un icono X rojo; los componentes que se instalarán tienen un icono gris. Para indicar si un componente se instalará o no, debe hacerse click en su icono y elegir una opción de la lista desplegable que aparece.

Se puede cambiar el directorio de instalación por defecto haciendo click en el botón Cambiar... a la derecha del directorio de instalación que se muestra.

Después de elegir los componentes a instalar y el directorio de instalación, hacer click en el botón Siguiente hará avanzar al cuadro de diálogo de confirmación.

2.3.4.5. La ventana de diálogo de confirmación

Una vez que se elige un tipo de instalación y los componentes a instalar, se avanza al cuadro de diálogo de confirmación. Se muestran el tipo y el directorio de instalación se para ser confirmados.

Para instalar MySQL una vez que se está conforme con la configuración, debe hacerse click en el botón Instalar. Para cambiar la configuración, debe hacerse click en el botón Retroceder. Para abandonar el asistente de instalación sin terminar la instalación de MySQL, debe hacerse click en el botón Cancel.

Una vez que la instalación está completa, se porporciona la opción de registrarse en el sitio web de MySQL. El registro otorga acceso para publicar mensajes en los foros de Mysql, en forums.mysql.com, junto con la posibilidad de informar errores en bugs.mysql.com y suscribirse al boletín electrónico. La pantalla final del instalador brinda un resumen de la instalación y la opción de ejecutar el asistente de configuración MySQL, que se utiliza para crear un fichero de configuración, instalar el servicio MySQL, y establecer la seguridad.

2.3.4.6. Cambios que realiza el asistente de instalación MySQL

Una vez que se hace click en el botón Instalar, el asistente de instalación MySQL comienza el proceso de instalación y realiza ciertos cambios en el sistema, que se describen en la siguiente sección.

Cambios al Registro

El asistente de instalación crea una clave de registro, durante una situación típica de instalación, localizada en .

El asistente de instalación crea una clave cuyo nombre es el número de versión principal (número de la serie) del servidor que se encuentra instalado, tal como . Contiene dos valores de cadena, y . La cadena contiene el directorio de instalación. En una instalación corriente, contiene . La cadena contiene el número de entrega (release). Por ejemplo, para una instalación de MySQL Server 5.0.9 la clave contiene el valor .

Estas claves del registro son útiles para ayudar a herramientas externas a identificar la ubicación en la que se instaló el servidor MySQL, evitando un rastreo completo del disco para descubrirla. Las claves del registro no son necesarias para la ejecución del servidor y no se crean cuando se usa el fichero Zip

Cambios en el menú Inicio

El asistente de instalación crea una nueva entrada en el menú Inicio de Windows, bajo una opción cuyo nombre es el número de versión principal (número de la serie) del servidor que se encuentra instalado. Por ejemplo, si se instala MySQL 5.0, se crea una sección MySQL Server 5.0 en el menú Inicio.

Se crean las siguientes entradas dentro de la nueva sección del menú Inicio:

  • MySQL Command Line Client : Es un atajo al cliente de línea de comandos mysql y está configurado para iniciar sesión como usuario . El atajo pregunta por una contraseña perteneciente a un usuario cuando se conecta.

  • MySQL Server Instance Config Wizard : Es un atajo al asistente de configuración. Utilice este atajo para configurar un servidor recientemente instalado o reconfigurar uno existente.

  • MySQL Documentation : Es un vínculo a la documentación del servidor MySQL, que se almacena localmente en el directorio de instalación de MySQL. Esta opción no está disponible cuando el servidor MySQL fue instalado con el paquete Essentials.

Cambios en el sistema de ficheros

El asistente de instalación MySQL, por defecto instala el servidor MySQL en \MySQL\MySQL Server , donde es el directorio de aplicaciones por defecto del sistema, y es el número de versión principal (número de la serie) de servidor MySQL instalado. Ésta es la nueva ubicación donde se recomienda instalar MySQL, en sustitución de la antigua ubicación por defecto, .

Por defecto, todas las aplicaciones MySQL se almacenan en un directorio común localizado en \MySQL, donde es el directorio de aplicaciones por defecto del sistema. Una instalación típica de MySQL en el ordenador de un desarrollador podría verse así:

C:\Program Files\MySQL\MySQL Server 5.0
C:\Program Files\MySQL\MySQL Administrator 1.0
C:\Program Files\MySQL\MySQL Query Browser 1.0

Esta proximidad entre los distintos directorios facilita la administración y el mantenimiento de todas las aplicaciones MySQL instaladas en un sistema en particular.

2.3.4.7. Aumentar la versión MySQL

El asistente de instalación MySQL puede llevar a cabo actualizaciones del servidor automáticamente, empleando la capacidad de actualización de MSI. Ello significa que no es necesario desinstalar manualmente una versión previa antes de instalar una nueva entrega (release). El instalador, automáticamente, detiene y quita el servicio MySQL antiguo antes de instalar la nueva versión.

Las actualizaciones automáticas se hallan disponibles solamente cuando se actualiza entre instalaciones que tienen el mismo número de versión principal (número de la serie). Por ejemplo, se puede hacer una actualización automática desde MySQL 4.1.5 a MySQL 4.1.6, pero no desde MySQL 4.1 a MySQL 5.0.

Consulte Sección 2.3.15, “Aumentar la versión de MySQL en Windows”.

2.3.5. Utilización del asistente de configuración

2.3.5.1. Introducción

El asistente de configuración MySQL automatiza el proceso de configurar el servidor bajo Windows. Crea un fichero personalizado, realizando una serie de preguntas y aplicando las respuestas a una plantilla para generar un fichero apropiado para la instalación en curso.

El asistente de configuración MySQL se incluye con la versión 5.0 de MySQL, y por el momento sólo está disponible para usuarios de Windows.

El asistente de configuración es en gran parte el resultado de los comentarios que MySQL AB recibió de muchos usuarios en un período de varios años. Sin embargo, si Usted descubre que el asistente de instalación está dejando de lado alguna característica que le resulte importante, o si halla un error, por favor emplee nuestro sistema de errores MySQL para solicitar características o informar sobre problemas.

2.3.5.2. Arrancar el asistente de configuración de MySQL

El asistente de configuración generalmente se ejecuta a continuación del asistente de instalación, ni bien éste finaliza. También puede iniciarse haciendo click en la entrada MySQL Server Instance Config Wizard de la sección MySQL del menú Inicio.

Adicionalmente, es posible dirigirse al directorio de la instalación MySQL y ejecutar directamente el fichero .

2.3.5.3. Escoger una opción de mantenimiento

Si el asistente de configuración MySQL detecta un fichero preexistente, se tiene la opción de reconfigurar el servidor o quitar la instancia borrando el fichero y deteniendo y quitando el servicio MySQL.

Para reconfigurar un servidor existente, debe escogerse la opción Re-configure Instance y hacer click en el botón Next. El fichero actual será renombrado como .ini.bak, donde es la fecha y hora en que el fichero existente se creó. Para quitar la instancia del servidor actual, debe seleccionarse la opción Remove Instance y hacer click en el botón Next.

Si se selecciona la opción Remove Instance , se continúa con una ventana de confirmación. Al hacer click en el botón Execute, el asistente de configuración MySQL detendrá y quitará el servico MySQL, tras lo cual borrará el fichero . Los ficheros del servidor, incluyendo el directorio , no se eliminarán.

Si se opta por Re-configure Instance , se continúa hacia el cuadro de diálogo Configuration Type donde puede elegirse el tipo de instalación a configurar.

2.3.5.4. Escoger un tipo de configuración

Cuando se inicia el asistente de configuración MySQL para una instalación nueva o se escoge la opción Re-configure Instance para una configuración existente, se avanza hacia el cuadro de diálogo Configuration Type.

Hay disponibles dos tipos de configuración: Configuración detallada (Detailed Configuration) y Configuración estándar (Standard Configuration) . La Configuración estándar está orientada a usuarios nuevos que deseen comenzar rápidamente con MySQL sin tener que tomar varias decisiones relativas a la configuración del servidor. La Configuración detallada está dirigida a usuarios avanzados que deseen un control más preciso sobre la configuración del servidor.

Si se trata de un usuario nuevo de MySQL y necesita un servidor configurado para un ordenador de desarrollo con un único usuario, la Configuración estándar debería cubrir sus necesidades. Al elegir la Configuración estándar el asistente de configuración MySQL establece todas las opciones de configuración automáticamente, a excepción de Opciones de servicio (Service options) y Opciones de seguridad (Security options) .

La Configuración estándar establece opciones que pueden ser incompatibles con sistemas donde existen instalaciones de MySQL previas. Si se posee una instalación de MySQL anterior además de la que se está configurando, se recomienda optar por la Configuración detallada (Detailed configuration)

Para completar la Configuración estándar , hay que remitirse a las secciones sobre Opciones de servicio (Service options) y Opciones de seguridad (Security options) , en Sección 2.3.5.11, “La ventana de diálogo de las opciones de servicio” y Sección 2.3.5.12, “La ventana de diálogo de las opciones de seguridad”, respectivamente.

2.3.5.5. La ventana de diálogo del tipo de servidor

Hay tres tipos de servidor distintos para elegir, y el tipo que se escoja afectará a las decisiones que el asistente de configuración MySQL tomará en relación al uso de memoria, disco y procesador.

  • Developer machine (Ordenador de desarrollo) : Esta opción se aplica a ordenadores de escritorio donde MySQL está orientado a un uso personal solamente. Se asume que se estarán ejecutando varias otras aplicaciones, por lo que el servidor MySQL se configura para utilizar una cantidad mínima de recursos del sistema.

  • Server machine (Servidor) : Esta opción se aplica a servidores donde MySQL se ejecuta junto con otras aplicaciones de servidor como son FTP, correo electrónico, y servidores web. MySQL se configura para utilizar una cantidad moderada de recursos del sistema.

  • Dedicated MySQL Server Machine (Servidor MySQL dedicado) : Esta opción se aplica a ordenadores donde solamente se ejecuta el servidor MySQL. Se asume que no hay otras aplicaciones ejecutándose. El servidor MySQL se configura para utilizar todos los recursos disponibles en el sistema.

2.3.5.6. La ventana de diálogo Base de datos

El cuadro de diálogo Uso de la base de datos (Database usage) permite indicar los gestores de tablas que se planea utilizar al crear tablas de MySQL. La opción que se escoja determinará si el motor de almacenamiento estará disponible y qué porcentaje de los recursos de servidor estarán disponibles para

  • Base de datos polifuncional (Multifunctional database) : Esta opción habilita tanto el motor de almacenamiento como y reparte los recursos uniformemente entre ambos. Se recomienda para usuarios que emplearán los dos motores de almacenamiento en forma habitual.

  • Base de datos transaccional exclusiva (Transactional database only) : Esta opción habilita tanto el motor de almacenamiento como , pero destina más recursos del servidor al motor . Se recomienda para usuarios que emplearán casi exclusivamente, y harán un uso mínimo de

  • Base de datos no-transaccional exclusiva (Non-transactional database only) : Esta opción deshabilita completamente el motor de almacenamiento y destina todos los recursos del servidor al motor . Recomendado para usuarios que no utilizarán .

2.3.5.7. La ventana de diálogo del espacio de tablas InnoDB

Algunos usuarios pueden querer ubicar los ficheros en una ubicación diferente al directorio de datos del servidor MySQL. Esto puede ser deseable si el sistema tiene disponible un dispositivo de almacenamiento con mayor capacidad o mayor rendimiento, como un sistema RAID.

Para modificar la ubicación por defecto de los ficheros , debe elegirse una nueva unidad de disco en la lista desplegable de letras de unidades y elegir una nueva ruta en la lista desplegable de rutas. Haciendo click en el botón ... podrá crearse una ruta personalizada,

Si se está modificando la configuración de un servidor preexistente, debe hacerse click en el botón Modify antes de cambiar la ruta. En dicho caso habrá que desplazar manualmente los ficheros InnoDB existentes hacia la nueva ubicación antes de iniciar el servidor.

2.3.5.8. La ventana de diálogo de conexiones concurrentes

Es importante establecer un límite para las conexiones simultáneas que se podrán establecer con el servidor MySQL, para evitar que éste se quede sin recursos. El cuadro de diálogo Conexiones simultáneas (Concurrent connections) permite indicar el uso que se planea darle al servidor, y establecer en consecuencia el límite de conexiones simultáneas. También es posible introducir manualmente el límite.

  • Soporte de decisiones (Decision support (DSS)/OLAP) : Debe escogerse esta opción si el servidor no necesitará una gran cantidad de conexiones simultáneas. El número máximo de conexiones se establece en 100, asumiéndose un promedio de 20 conexiones simultáneas.

  • Proceso de transacciones en línea (Online transaction processing (OLTP)) : Debe escogerse esta opción si el servidor necesitará un gran número de conexiones simultáneas. El número máximo de conexiones se establece en 500.

  • Configuración manual (Manual setting) : Debe escogerse esta opción para establecer manualmente el número máximo de conexiones simultáneas que admitirá el servidor. El número deseado puede elegirse de una lista desplegable o teclearse si no figura en ella.

2.3.5.9. La ventana de diálogo de redes

El cuadro de diálogo Opciones de red (Networking options) permite activar o desactivar el protocolo TCP/IP y modificar el número de puerto por el que se accederá al servidor MySQL.

El protocolo TCP/IP está activado por defecto. Para desactivarlo debe quitarse la marca de la casilla al lado de la opción Activar TCP/IP (Enable TCP/IP networking)

Por defecto se utiliza el puerto 3306 para acceder a MySQL. Para modificar este valor, el número deseado puede elegirse de una lista desplegable o teclearse si no figura en la lista. Si el puerto indicado ya se encuentra en uso, se solicitará la confirmación de la elección.

2.3.5.10. La ventana de diálogo del conjunto de caracteres

El servidor MySQL soporta múltiples conjuntos de caracteres, y es posible establecer uno por defecto, que se aplicará a todas las tablas, columnas y bases de datos, a menos que se sustituya. Debe emplearse el cuadro de diálogo Character set para cambiar en el servidor el conjunto de caracteres por defecto.

  • Juego de caracteres estándar (Standard character set) : Esta opción establecerá a como el juego de caracteres por defecto en el servidor. se usa para el Inglés y muchos idiomas de Europa Occidental.

  • Soporte multilingüe mejorado (Best support for multilingualism) : Esta opción establece a como el conjunto de caracteres por defecto en el servidor. puede almacenar caracteres de muchos idiomas diferentes en un único juego.

  • Selección manual del conjunto de caracteres por defecto / colación (Manual selected default character set / collation) : Esta opción se emplea cuando se desea elegir manualmente el juego de caracteres por defecto del servidor, a través de una lista desplegable.

2.3.5.11. La ventana de diálogo de las opciones de servicio

En plataformas basadas en Windows NT, el servidor MySQL puede instalarse como un servicio. De ese modo, se iniciará automáticamente durante el inicio del sistema, e incluso será reiniciado automáticamente por Windows en caso de producirse un fallo en el servicio.

El asistente de configuración MySQL instala por defecto el servidor MySQL como un servicio, utilizando el nombre de servicio . Si se desea evitar la instalación del servicio, debe vaciarse la casilla al lado de la opción Instalar como servicio Windows (Install as Windows service) . Se puede modificar el nombre del servicio eligiendo un nuevo nombre o tecleándolo en la lista desplegable provista.

Para instalar el servidor MySQL como un servicio pero que no se ejecute al iniciarse Windows, debe vaciarse la casilla al lado de la opción Ejecutar el servidor MySQL automáticamente (Launch the MySQL server automatically) .

2.3.5.12. La ventana de diálogo de las opciones de seguridad

Se recomienda fuertemente que se establezca una contraseña para el usuario del servidor MySQL. El asistente de configuración MySQL la solicita por defecto. Si no se desea establecer una contraseña, debe vaciarse la casilla al lado de la opción Modificar configuración de seguridad (Modify security settings) .

Para establecer la contraseña del usuario , se debe introducir tanto en el cuadro de texto Nueva contraseña de root (New root password) como en Confirmar (Confirm) . Si se está reconfigurando un servidor existente, también será necesario introducir la contraseña en vigencia dentro del cuadro de texto Contraseña de root actual (Current root password) .

Para evitar que el usuario inicie sesión desde cualquier punto de la red, debe marcarse la casilla al lado de la opción Root sólo puede conectarse en modo local (Root may only connect from localhost) . Esto fortalece la seguridad de la cuenta de .

Para crear una cuenta de usuario anónimo, debe marcarse la casilla al lado de la opción Crear una cuenta de anónimo (Create An Anonymous Account) . No se recomienda crear un usuario anónimo porque puede disminuir la seguridad del servidor y ocasionar dificultades de inicio de sesión y de permisos.

2.3.5.13. La ventana de diálogo de confirmación

El último cuadro de diálogo del asistente de configuración MySQL es el de Confirmación (Confirmation dialog). Para concretar el proceso de configuración, debe hacerse click en el botón Ejecutar (Execute). Para volver a un cuadro de diálogo anterior, debe hacerse click en el botón Atrás (Back). Para abandonar el asistente de configuración sin cambiar la configuración del servidor, debe hacerse click en el botón Cancelar (Cancel).

Después de hacer click en el botón Ejecutar (Execute), el asistente de configuración MySQL llevará a cabo una serie de tareas cuyo avance se mostrará en la pantalla a medida que cada etapa termine.

El asistente de configuración MySQL determina en primer lugar las opciones del fichero de configuración, basándose en las preferencias del usuario, y empleando una plantilla confeccionada por desarrolladores e ingenieros de MySQL AB. Esta plantilla se llama y se localiza en el directorio de instalación del servidor.

Luego, el asistente de configuración guarda dichas opciones en el fichero . La ubicación final de este fichero se muestra al lado de la tarea Guardar fichero de configuración (Write configuration file).

Si se optó por crear un servicio de Windows para el servidor MySQL, el asistente de configuración creará e iniciará el servicio. Si se está reconfigurando un servicio existente, el asistente de configuración reiniciará el servicio para que tomen efecto los cambios realizados.

Si se optó por establecer una contraseña para el usuario , el asistente de configuración MySQL se conectará al servidor, establecerá la nueva contraseña para , y aplicará cualquier otra opción de seguridad que se haya seleccionado.

Después de que el asistente de configuración MySQL haya completado sus tareas, se mostrará un resumen. Haciendo click en el botón Terminar (Finish) se abandonará el asistente.

2.3.5.14. Dónde está el fichero my.ini

El asistente de configuración MySQL coloca el fichero en el directorio de instalación del servidor MySQL. De este modo se asocian los ficheros de configuración con distintas instancias del servidor.

Para asegurarse de que el servidor MySQL sabe dónde buscar el fichero , durante la instalación del servicio se pasa al servidor un argumento similar a este: \my.ini", donde se reemplaza con la ruta de instalación del servidor MySQL.

le indica al servidor MySQL que lea el fichero especificado en busca de opciones de configuración.

2.3.5.15. Editar el fichero my.ini

Para modificar el fichero , se debe abrir con un editor de texto y realizar cualquier cambio necesario. También se puede modificar con la utilidad MySQL Administrator

Los programas cliente y las utilidades de MySQL, como el cliente de línea de comandos mysql y mysqldump, no son capaces de localizar el fichero ubicado en el directorio de instalación del servidor. Para configurar las aplicaciones cliente y de utilidades, debe crearse un nuevo fichero en el directorio o , según corresponda a la versión de Windows que se esté ejecutando.

2.3.6. Instalar MySQL partiendo de un archivo Zip Noinstall

Los usuarios que hayan optado por instalar desde el paquete Noinstall, pueden servirse de las instrucciones en esta sección para instalar manualmente MySQL. El proceso para instalar MySQL desde un fichero ZIP es el siguiente:

  1. Extraer el contenido del fichero dentro del directorio de instalación deseado.

  2. Crear un fichero de opciones.

  3. Elegir un tipo de servidor MySQL

  4. Iniciar el servidor MySQL.

  5. Establecer la seguridad de las cuentas de usuario por defecto.

El proceso completo se describe en las secciones siguientes.

2.3.7. Descomprimir el fichero de instalación

Para instalar MySQL manualmente, debe hacerse lo siguiente:

  1. Si se está actualizando desde una versión anterior, se debe consultar Sección 2.3.15, “Aumentar la versión de MySQL en Windows” antes de comenzar el proceso de actualización.

  2. Si se está utilizando un sistema operativo basado en Windows NT, como Windows NT, Windows 2000, Windows XP o Windows Server 2003, se debe iniciar sesión con un usuario con privilegios de administrador.

  3. Debe elegirse una ubicación para la instalación. Tradicionalmente, el servidor MySQL se ha venido colocando en , y el asistente de instalación lo hace en . Si no se instala en , se debe indicar el directorio de instalación al iniciar el servidor o en un fichero de opciones. Consulte Sección 2.3.8, “Creación de un fichero de opciones”.

  4. Utilizando una aplicación capaz de expandir ficheros comprimidos, se debe extraer el contenido del paquete dentro de la ubicación elegida para la instalación. Algunas aplicaciones extraen el contenido del fichero dentro de una carpeta que crean en la ubicación que se les indica. Si este es el caso, debe moverse el contenido de dicha subcarpeta y colocarlo en la ubicación elegida.

2.3.8. Creación de un fichero de opciones

Si es necesario especificarle opciones al servidor durante su inicio, esto puede hacerse desde la línea de comandos o bien colocando las opciones en un fichero de opciones. Aquellas opciones que se usarán cada vez que se inicie el servidor, es conveniente colocarlas en un fichero. Esto es especialmente cierto en las siguiente circunstancias:

  • El directorio de instalación o de datos son diferentes de los usados por defecto ( y ).

  • Es necesario afinar la configuración del servidor

Cuando el servidor MySQL para Windows se inicia, busca opciones en dos ficheros: en en el directorio de Windows, y en . El directorio de Windows generalmente es o . Se puede verificar el valor exacto consultando la variable de entorno por medio del siguiente comando:

C:\> echo %WINDIR%

MySQL buscará opciones primero en el fichero y luego en . Sin embargo, para evitar confusiones, es mejor emplear un solo fichero. Si el ordenador utiliza un gestor de arranque donde no es la unidad de inicio, la única opción será . Cualquiera que sea el fichero de opciones empleado, deberá estar en texto plano.

Otra posibilidad es utilizar como base los ficheros de opciones incluidos como ejemplo en la distribución de MySQL. Éstos se encuentran en el directorio de instalación y tienen nombres como , , , y . Para utilizarlos como base de la configuración basta renombrarlos y copiarlos en la ubicación apropiada.

Un fichero de opciones puede crearse y modificarse con cualquier editor de textos, como el Bloc de Notas o Notepad. Por ejemplo, si MySQL está instalado en y el directorio de datos es , se puede crear un fichero de opciones que contenga una sección para especificar los valores que tendrán los parámetros y :

[mysqld]
# coloca en basedir el directorio de instalación
basedir=E:/mysql
# coloca en datadir el directorio de datos
datadir=E:/mydata/data

Debe tenerse en cuenta que las rutas de directorio, aun en Windows, deben escribirse en los ficheros de opciones con barras invertidas (/) en lugar de las habituales. Si se desea emplear estas últimas, deben colocarse en forma doble:

[mysqld]
# coloca en basedir el directorio de instalación
basedir=E:\\mysql
# coloca en datadir el directorio de datos
datadir=E:\\mydata\\data

En Windows, el instalador de MySQL coloca el directorio de datos directamente bajo el directorio donde se instala MySQL. Si se deseara tener el directorio de datos en una ubicación diferente, se debería copiar el contenido completo del directorio en la nueva ubicación. Por ejemplo, si MySQL se instala en , el directorio de datos estará por defecto en . Si se quiere que el directorio de datos sea deben hacerse dos cosas:

  1. Desplazar el directorio data y todo su contenido desde hasta .

  2. Emplear la opción para especificar la nueva ubicación del directorio data cada vez que se inicia el servidor.

2.3.9. Seleccionar un tipo de servidor MySQL

La siguiente tabla muestra los servidores MySQL 5.0 disponibles para Windows:

Ejecutable Descripción
mysqld-debug Compilado con el máximo de funciones de depuración y control automático de asignación de memoria, así como con soporte para tablas y .
mysqld Ejecutable optimizado con soporte para
mysqld-nt Ejecutable optimizado para Windows NT, 2000, y XP con soporte para named pipes.
mysqld-max Ejecutable optimizado con soporte para tablas y .
mysqld-max-nt Similar a mysqld-max, pero compilado con soporte para named pipes.

Todos los ejecutables mencionados están optimizados para los modernos procesadores Intel, pero deberían funcionar en cualquier procesador Intel de tipo i386 o superior.

En MySQL 5.0, todos los servidores Windows tienen soporte para vínculo simbólico de directorios de bases de datos.

MySQL tiene soporte para TCP/IP en todas las plataformas Windows. Los servidores mysqld-nt y tienen soporte para named pipes en Windows NT, 2000, XP y 2003. Sin embargo, lo habitual es emplear TCP/IP sin tener en cuenta la plataforma. (Las named pipes son más lentas que TCP/IP en muchas configuraciones de Windows).

El uso de named pipes está sujeto a estas condiciones:

  • Las named pipes están habilitadas solamente si se inicia el servidor con la opción . Esto es necesario porque algunos usuarios han experimentado problemas al detener el servidor MySQL cuando las estaban utilizando.

  • Las conexiones con named pipes están permitidas solamente en los servidores mysqld-nt o mysqld-max-nt, y siempre que la versión de Windows utilizada las soporte (Windows NT, 2000, XP, 2003).

  • Estos servidores pueden ejecutarse en Windows 98 o Me, pero sólo si el protocolo TCP/IP está instalado; las conexiones con named pipe no pueden utilizarse.

  • Estos servidores no pueden ejecutarse en Windows 95.

Nota: la mayor parte de los ejemplos de este manual emplean mysqld como nombre de servidor. Si se opta por emplear un servidor diferente, como mysqld-nt, deben hacerse los reemplazos de nombre adecuados en los comandos de los ejemplos.

2.3.10. Arrancar el servidor la primera vez

La información de esta sección se aplica principalmente si se está instalando MySQL con la versión , o si se desea configurar y probar MySQL manualmente en lugar de usar las herramientas con interfaz gráfica.

En Windows 95, 98, o Me, los clientes MySQL siempre se conectan al servidor utilizando TCP/IP. (Esto le permite a cualquier ordenador de la red conectarse al servidor MySQL). Debido a esto, hay que asegurarse de que TCP/IP esté soportado en el ordenador antes de iniciar MySQL. El protocolo TCP/IP se encuentra en el CD-ROM de Windows.

Es importante advertir de que si se está utilizando una versión antigua de Windows 95 (por ejemplo, OSR2), es muy probable que se disponga de un paquete Winsock antiguo; MySQL necesita Winsock 2. Puede descargarse el último paquete Winsock desde http://www.microsoft.com/. Windows 98 ya tiene la nueva biblioteca Winsock 2, de modo que no es necesario actualizarla.

En sistemas basados en NT, como Windows NT, 2000, XP, o 2003, los clientes tienen dos opciones. Pueden utilizar TCP/IP, o utilizar conexiones con named pipe si están soportadas por el servidor. Para lograr que MySQL trabaje con TCP/IP cuando se usa Windows NT 4, debe instalarse el service pack 3 (o posterior).

MySQL 5.0 para Windows también soporta conexiones de memoria compartida (shared-memory) si se lo inicia con la opción . Los clientes pueden conectarse a través de memoria compartida (shared memory) si usan la opción .

Para más información sobre qué servidor ejecutar, consulte Sección 2.3.9, “Seleccionar un tipo de servidor MySQL”.

Esta sección brinda una visión de conjunto del arranque del servidor MySQL. Las siguientes secciones proporcionan información más específica para ejecutar el servidor MySQL desde la línea de comandos o como un servicio de Windows.

Los ejemplos de estas secciones asumen que MySQL está instalado en la ubicación por defecto: . Las rutas de directorio mostradas en los ejemplos deben modificarse si MySQL está instalado en una ubicación diferente.

Las pruebas se realizan mejor desde el indicador del sistema en una ventana de consola (o “ventana DOS”). De este modo, los mensajes mostrados por el servidor permanecen en la ventana, donde son más sencillos de leer. Si algo funciona mal en la configuración, estos mensajes facilitan la identificación y solución de los problemas.

Para iniciar el servidor, se emplea este comando:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --console

En servidores que incluyen soporte para , se deberían mostrar los siguientes mensajes a medida que el servidor se inicia:

InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
InnoDB: Database physically writes the file full: wait...
InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: creating foreign key constraint system tables
InnoDB: foreign key constraint system tables created
011024 10:58:25  InnoDB: Started

Cuando el servidor finaliza su secuencia de inicio, se debería ver un mensaje similar al siguiente, que indica que el servidor está listo para dar servicio a conexiones de clientes:

mysqld: ready for connections
Version: '5.0.9-beta'  socket: ''  port: 3306

El servidor continúa con la emisión por pantalla de cualquier otro mensaje de diagnóstico que se genere. Puede abrirse una nueva ventana de consola en la cual ejecutar programas cliente.

Si se omite la opción , el servidor dirige la información de diagnóstico hacia el registro de errores en el directorio de datos (por defecto, ). El registro de errores es el fichero con extensión .

Nota: Las cuentas de usuario que aparecen inicialmente en las tablas de permisos de MySQL no están protegidas por contraseña. Después de iniciar el servidor, se deberían establecer las contraseñas para estas cuentas empleando las instrucciones que se hallan en Sección 2.9, “Puesta en marcha y comprobación después de la instalación”.

2.3.11. Arrancar MySQL desde la raya de comandos de Windows

El servidor MySQL puede ser iniciado manualmente desde la línea de comandos. Esto es válido en cualquier versión de Windows.

Para iniciar el servidor mysqld desde la línea de comandos, se debería abrir una ventana de consola (o “ventana DOS ”) e ingresar este comando:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld

La ruta empleada en el ejemplo anterior puede variar según la ubicación de la instalación de MySQL en el sistema.

En versiones no NT de Windows, esto ejecutará mysqld en segundo plano. Esto significa que luego de que el servidor se inicia, puede verse otra ventana de comandos. Si se inicia el servidor de esta manera pero en Windows NT, 2000, XP o 2003, el mismo se ejecuta en segundo plano sin que aparezca ningún indicador del sistema hasta que el servidor finaliza. Debido a esto, se deberá abrir otra ventana de consola para correr programas cliente mientras el servidor se ejecuta.

El siguiente comando detendrá al servidor MySQL:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown

Esto invoca la utilidad administrativa de MySQL, mysqladmin, para conectarse al servidor y transmitirle la orden de finalización. El comando se conecta como el usuario de MySQL, el cual es la cuenta administrativa por defecto en el sistema de permisos de MySQL. Debe advertirse que los usuarios en este sistema son enteramente independientes de cualquier usuario de inicio de sesión perteneciente a Windows.

Si mysqld no se inicia, debe verificarse el registro de errores para ver si el servidor generó cualquier mensaje que indique la causa del problema. El registro de errores se localiza en el directorio . Es el fichero con extensión . También puede intentarse iniciar el servidor con el comando mysqld --console; en este caso se podrá obtener alguna información en pantalla que permita resolver el problema.

La última opción es ejecutar mysqld con . En este caso, mysqld guardará un fichero de registro llamado el cual debería contener la razón por la cual mysqld no se inicia. Consulte Sección D.1.2, “Crear ficheros de traza”.

El comando mysqld --verbose --help sirve para mostrar todas las opciones que mysqld es capaz de comprender.

2.3.12. Arrancar MySQL como un servicio de Windows

En la familia NT (Windows NT, 2000, XP, 2003), la manera recomendada de ejecutar MySQL es instalarlo como un servicio del sistema operativo, de modo que se inicie y detenga automáticamente cuando Windows lo haga. Un servidor MySQL instalado como servicio también puede controlarse desde la línea de comandos empleando los comandos NET, o con la utilidad gráfica Services.

La utilidad Services (el Administrador de Servicios de Windows (Service Control Manager)) puede encontrarse en el Panel de Control (bajo Administrative Tools en Windows 2000, XP, y Server 2003). Es aconsejable cerrar la utilidad Services mientras se lleven a cabo operaciones de instalación o remoción del servidor desde la línea de comandos. Esto evita una cantidad de errores.

Antes de instalar MySQL como un servicio Windows, se debería detener primero el servidor -si está en ejecución- mediante el siguiente comando:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown

Nota: si la cuenta de usuario MySQL está protegida por una contraseña, la forma de invocar este comando será C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root -p shutdown y porporcionando la contraseña cuando sea solicitada.

Esto invoca la utilidad administrativa de MySQL, mysqladmin, para conectarse al servidor y transmitirle la orden de finalización. El comando se conecta como el usuario de MySQL, el cual es la cuenta administrativa por defecto en el sistema de permisos de MySQL. Debe advertirse que los usuarios en este sistema son enteramente independientes de cualquier usuario de inicio de sesión perteneciente a Windows.

Este comando instalará el servidor como un servicio:

C:\> mysqld --install

Si se producen problemas al instalar mysqld como un servicio usando sólo el nombre del servidor, debe intentarse indicando la ruta completa. Por ejemplo:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install

La ruta al directorio de MySQL puede agregarse a la variable de entorno de Windows :

  • En el Escritorio de Windows, hacer click derecho en el ícono Mi PC y seleccionar Propiedades

  • A continuación, seleccionar la pestaña Opciones Avanzadas de la ventana Propiedades del Sistema, y hacer click en el botón Variables de Entorno.

  • Bajo Variables del Sistema, seleccionar Path , y hacer click en el botón Modificar. Aparecerá el cuadro de diálogo Modificar Variable del Sistema.

  • Debe colocarse el cursor al final del texto mostrado en el espacio denominado Valor de la Variable. (Presionando la tecla Fin (End) se puede tener seguridad que el cursor quede realmente al final del texto.) Luego debe ingresarse la ruta completa al directorio de MySQL (por ejemplo, ). Si había un texto anterior, debe haber un punto y coma separando aquel y esta nueva ruta. Cerrar todos los cuadros de diálogo haciendo click en OK. Ahora debería poderse invocar cualquier programa ejecutable de MySQL simplemente tipeando su nombre en el indicador de sistema desde cualquier directorio, sin tener que indicar la ruta completa. Esto incluye a los servidores, el cliente mysql, y todas las utilidades de línea de comandos tal como mysqladmin y mysqldump.

  • No se debería agregar el directorio de MySQL al de Windows si se están ejecutando múltiples servidores MySQL en el mismo ordenador.

Advertencia: debe tenerse mucho cuidado al editar manualmente la variable de sistema ; el borrado o modificación accidental de cualquier parte podría dejar al sistema funcionando mal o incluso inutilizable.

El comando de instalación como servicio no inicia el servidor. Las instrucciones para hacerlo se dan luego en esta sección.

MySQL 5.0 soporta argumentos adicionales cuando se lo instala como servicio:

  • Puede indicarse un nombre para el servicio inmediatamente a continuación de la opción . El nombre por defecto es .

  • Si se indica un nombre de servicio, solamente puede especificarse una opción a continuación. Por convención, esta debería ser para indicar el nombre de un fichero de opciones que el servidor debería leer cuando se inicia.

    Es posible emplear otra opción en vez de , pero no se recomienda. es más flexible porque posibilita especificar múltiples opciones de inicio para el servidor, colocándolas en el fichero indicado. Además, en MySQL 5.0, el uso de una opción diferente a no está soportado hasta la versión 5.0.3.

  • A partir de la versión 5.0.1, puede especificarse la opción a continuación del nombre del servicio. Esto provoca que el servidor se ejecute empleando la cuenta de Windows, que tiene privilegios de sistema limitados. Esta cuenta existe solamente en Windows XP y posteriores. Si ambas opciones y son colocadas a continuación del nombre del servicio, pueden estar en cualquier orden.

Para un servidor MySQL que se instaló como un servicio de Windows, las siguientes reglas determinan el nombre de servicio y los ficheros de opciones que utilizará:

  • Si el comando de instalación como servicio no especificó un nombre de servicio o el nombre por defecto () a continuación de la opción , el servidor tomará el nombre de servicio y leerá opciones desde el grupo en los ficheros de opciones estándar.

  • Si el comando de instalación como servicio especifica un nombre de servicio distinto a luego de la opción , el servidor empleará ese nombre de servicio. Leerá opciones en el grupo que tenga el mismo nombre que el servicio, en los ficheros de opciones estándar.

    El servidor también leerá opciones desde el grupo de los ficheros de opciones estándar. Esto permite usar el grupo para opciones que deban ser utilizadas por todos los servicios MySQL, y un grupo de opciones con el mismo nombre del servicio para ser usadas sólo por aquel.

  • Si el comando de instalación del servicio especifica una opción después del nombre del servicio, el servidor leerá opciones solamente desde el grupo del fichero suministrado e ignorará los ficheros de opciones estándar.

A modo de un ejemplo más complejo, considérese el siguiente comando:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install MySQL --defaults-file=C:\my-opts.cnf

Aquí, el nombre de servicio por defecto () se suministró a continuación de la opción . Si no se hubiera indicado la opción , este comando hubiese tenido como efecto que el servidor leyera el grupo de los ficheros de opciones estándar. No obstante, debido a que la opción se encuentra presente, el servidor leerá las opciones del grupo , pero sólo del fichero indicado.

También es posible especificar opciones como Parámetros de Inicio (Start parameters) en la utilidad Services de Windows antes de iniciar el servicio MySQL.

Una vez que el servidor MySQL ha sido instalado como servicio, será iniciado automáticamente luego del arranque de Windows. El servicio también puede iniciarse desde la utilidad Services, o empleando el comando NET START MySQL. El comando NET no es case sensitive.

Cuando se ejecuta como servicio, mysqld no tiene acceso a una ventana de consola, por lo que no puede mostrar mensajes. Si mysqld no se inicia, debe consultarse el registro de errores para ver si el servidor ha dejado allí mensajes que indiquen la causa del problema. El registro de errores se encuentra en el directorio de datos de MySQL (por ejemplo, ). Es el fichero con extensión .

Cuando un servidor MySQL se instala como servicio, se detendrá automáticamente si estaba en ejecución al momento de cerrar Windows. También puede detenerse manualmente, ya sea a través de la utilidad , del comando NET STOP MySQL, o del comando mysqladmin shutdown.

También existe la opción de instalar el servidor como un servicio de inicio manual, si no se desea que el servicio se inicie en cada arranque de Windows. Para esto, debe emplearse la opción en lugar de :

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install-manual

Para cancelar un servidor que fue instalado como servicio, primero se lo debe detener, si está en ejecución, por medio del comando NET STOP MYSQL. Luego de esto se usará la opción para cancelarlo:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --remove

Si mysqld no se está ejecutando como un servicio, se lo puede iniciar desde la línea de comandos. Consulte Sección 2.3.11, “Arrancar MySQL desde la raya de comandos de Windows” para más instrucciones.

Consulte Sección 2.3.14, “Resolución de problemas en la instalación de MySQL bajo Windows” si se producen problemas durante la instalación.

2.3.13. Comprobar la instalación de MySQL Installation

Cualquiera de los siguientes comandos permitirá comprobar si el servidor MySQL está en funcionamiento:

C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow -u root mysql
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin version status proc
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql test

Si mysqld responde con lentitud a las conexiones TCP/IP provenientes de programas cliente, probablemente haya un problema con el DNS. En este caso, hay que iniciar mysqld con la opción y utilizar solamente y números de IP en la columna de las tablas de permisos de MySQL.

Puede forzarse a un cliente MySQL a utilizar una conexión named pipe en lugar de TCP/IP especificando la opción o , o indicando (punto) como nombre de host. La opción se utilizará para especificar el nombre del pipe.

2.3.14. Resolución de problemas en la instalación de MySQL bajo Windows

Cuando se instala y ejecuta MySQL por primera vez, es posible encontrar ciertos errores que evitan el inicio del servidor. El propósito de esta sección es brindar auxilio en el diagnóstico y corrección de algunos de estos errores.

El primer recurso a considerar durante la resolución de problemas en el servidor es el registro de errores. El servidor MySQL utiliza este registro para guardar información relevante acerca del error que está impidiendo su inicio. El registro de errores se encuentra en el directorio de datos especificado en el fichero . La ubicación por defecto es . Consulte Sección 5.10.1, “El registro de errroes (Error Log)”.

Otra fuente de información relativa a posibles errores son los mensajes mostrados en la consola cuando el servicio MySQL se está iniciando. Empleando el comando NET START mysql en la línea de comandos luego de isntalar mysqld como un servicio, se podrá ver cualquier mensaje de error relativo al inicio del servicio MySQL. Consulte Sección 2.3.12, “Arrancar MySQL como un servicio de Windows”.

A continuación se brindan ejemplos de algunos de los más comunes errores que pueden ocurrir cuando se instala MySQL y se inicia el servidor por primera vez:

  • System error 1067 has occurred.
    Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
    

    Este mensaje se emite cuando el servidor MySQL no puede encontrar la base de datos u otros ficheros vitales para su funcionamiento. A menudo sucede cuando el directorio base o el directorio de datos de MySQL se instalan en ubicaciones distintas a las predeterminadas ( y , respectivamente).

    Una situación en la que puede ocurrir esto es cuando se instala una actualización de MySQL en una nueva ubicación, pero el fichero de configuración no se modifica para reflejar el nuevo directorio. Accesoriamente puede suceder que haya ficheros de configuración antiguos y nuevos en conflicto. Al actualizar MySQL hay que asegurarse de borrar o renombrar los ficheros de configuración existentes.

    Si se ha instalado MySQL en un directorio diferente a es necesario asegurarse de que el servidor MySQL está al tanto de esto a través del uso de un fichero de configuración (). El fichero debe estar localizado en el directorio de Windows, generalmente o . Se puede determinar su ubicación exacta a partir de la variable de entorno si se ordena lo siguiente en la línea de comandos:

    C:\> echo %WINDIR%
    

    Cualquier editor de texto, como Notepad, sirve para crear y modificar un fichero de opciones. Por ejemplo, si MySQL se instala en y el directorio de datos es , se puede crear el fichero de opciones y establecer una sección llamada para indicar los valores de los parámetros basedir y datadir:

    [mysqld]
    # Coloca en basedir el directorio de instalación
    basedir=E:/mysql
    # Coloca en datadir el directorio de datos
    datadir=D:/MySQLdata
    

    Debe tenerse en cuenta que las rutas de directorio, aún en Windows, deben escribirse en los ficheros de opciones con barras invertidas (/) en lugar de las habituales. Si se desea emplear estas últimas, deben colocarse en forma doble:

    [mysqld]
    # Coloca en basedir el directorio de instalación
    basedir=C:\\Program Files\\MySQL\\MySQL Server 5.0
    # Coloca en datadir el directorio de datos
    datadir=D:\\MySQLdata
    

    Consulte Sección 2.3.8, “Creación de un fichero de opciones”.

  • Error: Cannot create Windows service for MySql. Error: 0
    

    Este error ocurre cuando se reinstala o actualiza MySQL utilizando el Asistente de Configuración y sin detener y quitar primero el servicio MySQL existente. Sucede debido a que cuando el Asistente de Configuración intenta instalar el servicio, halla el anterior con el mismo nombre.

    Una solución es escoger un nombre de servicio diferente a cuando se emplea el Asistente de Configuración. Esto le permitirá al nuevo servicio instalarse correctamente, pero aún seguirá existiendo el servicio anterior. Aunque no es nocivo, es mejor remover los servicios que no están en uso.

    Para quitar permanentemente el antiguo servicio mysql, debe emplearse el siguiente comando en la línea de comandos, dentro de un usuario que tenga privilegios de administrador:

    C:\>sc delete mysql
    [SC] DeleteService SUCCESS
    

    Si la versión de Windows que se está utilizando no posee la utilidad , puede descargarse la utilidad desde http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp y utilizarla con la sintaxis .

2.3.15. Aumentar la versión de MySQL en Windows

Esta sección detalla algunos pasos a seguir cuando se actualiza MySQL para Windows.

  1. Siempre debería hacerse una copia de respaldo de la instalación de MySQL en uso antes de llevar a cabo una actualización. Consulte Sección 5.8.1, “Copias de seguridad de bases de datos”.

  2. Descargar la última distribución de MySQL para Windows desde http://dev.mysql.com/downloads.

  3. Antes de actualizar MySQL, debe detenerse el servidor.

    Si el servidor está instalado como servicio de Windows, debe detenerse el servicio ingresando lo siguiente en la línea de comandos:

    C:\> NET STOP MYSQL
    

    Si no se está ejecutando el servidor MySQL como un servicio de Windows, debe detenerse el servidor con el siguiente comando:

    C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
    
  4. Cuando se actualiza a MySQL 5.0 desde una versión anterior de la 4.1.5 o bien cuando se actualiza desde una versión instalada desde un fichero zip a otra que utiliza el Asistente de Instalación MySQL, se debe quitar manualmente la instalación anterior, incluyendo el servicio MySQL (si el server se hubiera instalado como servicio de Windows).

    Para quitar el servicio MySQL, debe utilizarse el siguiente comando:

    C:\> C:\mysql\bin\mysqld --remove
    

    Si no se quita el servicio existente, el Asistente de Instalación MySQL puede fallar al instalar el nuevo servicio MySQL.

  5. Si se está empleando el Asistente de Instalación MySQL, debe iniciarse el asistente como se indica en Sección 2.3.4, “Usar el asistente de instalación de MySQL”.

  6. Si se está instalando MySQL desde un fichero Zip, debe descomprimirse el fichero. Durante la operación puede sobreescribirse la instalación actual de MySQL (generalmente localizada en ), o instalar la nueva versión en una ubicación diferente, como . Se recomienda sobreescribir la instalación existente.

  7. Reiniciar el servidor. Por ejemplo, usando el comando NET START MySQL si se ejecutará MySQL como un servicio, o en otro caso, invocar directamente el comando mysqld.

  8. Consulte Sección 2.10, “Aumentar la versión de MySQL” para obtener información adicional (no limitada a Windows) sobre la actualización de MySQL.

  9. Si se producen errores, consulte Sección 2.3.14, “Resolución de problemas en la instalación de MySQL bajo Windows”.

2.3.16. Comparación entre MySQL en Windows y MySQL en Unix

MySQL para Windows ha demostrado por sí mismo ser muy estable. La versión para Windows de MySQL tiene las mismas características que su contraparte Unix, con las siguientes excepciones:

  • Windows 95 y los subprocesos

    Windows 95 pierde cerca de 200 bytes de memoria principal por cada vez que crea un subproceso. Cada conexión en MySQL crea un nuevo subproceso, de modo que no se debería ejecutar mysqld por un período prolongado de tiempo, en Windows 95, si el servidor va a gestionar muchas conexiones. Otras versiones de Windows no presentan este inconveniente.

  • Cantidad limitada de puertos

    Los sistemas Windows tienen alrededor de 4.000 puertos disponibles para conexiones de clientes, y luego de que una conexión se cierra, el puerto demora entre dos y cuatro minutos en liberarse. En situaciones donde los clientes se conecten y desconecten del servidor frecuentemente, es posible que todos los puertos disponibles se utilicen antes de que los puertos cerrados sean utilizables de nuevo. Si esto ocurre, el servidor MySQL no responderá aun cuando se esté ejecutando. Debe tenerse en cuenta que los puertos pueden ser usados por otras aplicaciones que se ejecuten en el mismo ordenador, en cuyo caso la cantidad de puertos disponibles para MySQL será menor que lo mencionado.

    Para más información, consulte http://support.microsoft.com/default.aspx?scid=kb;en-us;196271.

  • Lecturas simultáneas

    MySQL depende de las llamadas del sistema y para ser capaz de mezclar y . Actualmente se usan mutexes para emular y . Se planea reemplazar en un futuro la interfaz a nivel de ficheros con una interfaz virtual, de modo que se pueda utilizar la interfaz / en Windows NT, 2000 y XP, para obtener más velocidad. La implementación actual limita a 2.048 el número de ficheros abiertos que MySQL 5.0 puede usar, lo cual significa que no se pueden abrir tantos procesos simultáneos en Windows NT, 2000, XP y 2003 como en Unix.

  • Bloqueo de lectura

    MySQL utiliza un bloqueo de lectura por cada conexión, lo cual tiene los siguientes efectos cuando están habilitadas conexiones named pipe:

    • Una conexión no es desconectada automáticamente luego de ocho horas, como ocurre en la versión Unix de MySQL.

    • Si una conexión se congela, no es posible eliminarla sin interrumpir a MySQL.

    • mysqladmin kill no funciona con una conexión congelada.

    • mysqladmin shutdown no funciona en tanto haya conexiones congeladas.

    Se planea resolver este problema en el futuro.

  • Mientras se está ejecutando una sentencia , la tabla está bloqueada frente al uso por parte de otros subprocesos. Esto tiene que ver con el hecho de que en Windows no se puede eliminar un fichero que está en uso por otro subproceso. En el futuro se podría encontrar alguna solución a este problema.

  • Realizar sobre una tabla que está en uso por una tabla no funcionará en Windows porque el manejador oculta el mapeo de la tabla a la capa superior de MySQL. Debido a que Windows no permite eliminar archivos que se encuentran abiertos, primero deberán guardarse los cambios en todas las tablas (con ) o eliminar la tabla antes de borrar la tabla en cuestión.

  • e

    Las opciones de e se ignoran en Windows, ya que Windows no soporta vínculos simbólicos. Estas opciones también se ignoran en otros sistemas operativos que no tengan una llamada funcional.

  • No se puede eliminar una base de datos que está siendo utilizada por algún subproceso.

  • Finalizar MySQL desde el Administrador de Tareas

    No es posible finalizar MySQL desde el Administrador de Tareas o con la utilidad shutdown en Windows 95. Se lo debe detener usando mysqladmin shutdown.

  • Nombres case-insensitive

    Los nombres de ficheros no son case sensitive en Windows, por lo tanto tampoco lo son los nombres de bases de datos y tablas. La única restricción es que los nombres de bases de datos y tablas deben ser especificados empleando el mismo esquema de mayúsculas y minúsculas a lo largo de la misma sentencia. Consulte Sección 9.2.2, “Sensibilidad a mayúsuclas y minúsculas de identificadores”.

  • El separador de rutas ''

    En Windows, los componentes de las rutas de directorios están separados por '', el cual es también el carácter de escape en MySQL. Si se está utilizando o , deben usarse nombres de ficheros al estilo Unix, separados con caracteres '':

    mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
    mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
    

    Una alternativa es duplicar el carácter '':

    mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;
    mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
    

  • Problemas con pipes.

    Los pipes no funcionan confiablemente desde la línea de comandos de Windows. Si el pipe incluye el carácter / , Windows lo reconocerá como fin de fichero y terminará el programa.

    Esto es un problema particularmente cuando se intenta aplicar un fichero de registro (log) binario:

    C:\> mysqlbinlog binary-log-name | mysql --user=root
    

    Si ocurre un problema al aplicar el fichero de registro y se sospecha que es causado por un carácter / , puede intentarse la siguiente solución:

    C:\> mysqlbinlog binary-log-file --result-file=/tmp/bin.sql
    C:\> mysql --user=root --execute "source /tmp/bin.sql"
    

    El último comando tambien puede usarse para leer confiablemente cualquier fichero SQL que pueda contener datos binarios.

  • Error (Acceso denegado a usuario)

    Si se intenta ejecutar un programa cliente MySQL para conectarse a un servidor que funciona en el mismo ordenador, pero se obtiene el mensaje de error '@'unknown' to database 'mysql', significa que MySQL no puede resolver apropiadamente el nombre del ordenador anfitrión (host).

    Para resolver esto, se debe crear un fichero llamado conteniendo la siguiente información:

    127.0.0.1       localhost
    

La siguiente es una lista de temas pendientes para aquellos que deseen colaborar en el perfeccionamiento de MySQL para Windows:

  • Agregar macros para utilizar los métodos de incremento/decremento provistos por Windows, más rápidos y seguros para el trabajo con subprocesos.