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:
-
Obtener e instalar la distribución.
-
Establecer un fichero de opciones, de ser necesario.
-
Seleccionar el servidor que se desea emplear.
-
Iniciar el servidor.
-
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”.
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
.zip
, 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:
-
Si se planea conectarse al servidor MySQL a través de ODBC, se deberá contar con un driver Connector/ODBC. Consulte Sección 25.1, “El conector ODBC de MySQL”.
-
Si se necesitan tablas con un tamaño superior a 4GB, debe instalarse MySQL en un sistema de ficheros NTFS o posterior. Al crear las tablas no debe olvidarse el uso de
MAX_ROWS
yAVG_ROW_LENGTH
. Consulte Sección 13.1.5, “Sintaxis deCREATE TABLE
”.
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
mysql-essential-5.0.9-beta-win32.msi
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
mysql-5.0.9-beta-win32.zip
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
mysql-noinstall-5.0.9-beta-win32.zip
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”.
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.
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.
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 setup.exe
o
.msi
, al hacerles doble click comenzará
la 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”
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.
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.
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
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB
.
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 MySQL
Server 5.0
. Contiene dos valores de cadena,
Location
y Version
. La
cadena Location
contiene el directorio de
instalación. En una instalación corriente, contiene
C:\Program Files\MySQL\MySQL Server 5.0\
.
La cadena Version
contiene el número de
entrega (release). Por ejemplo, para una instalación de MySQL
Server 5.0.9 la clave contiene el valor
5.0.9
.
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 noinstall
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
root
. El atajo pregunta por una contraseña perteneciente a un usuarioroot
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 C:\
Program
Files
\MySQL\MySQL Server
5.0
, donde
Program Files
es el directorio de
aplicaciones por defecto del sistema, y
5.0
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,
c:\mysql
.
Por defecto, todas las aplicaciones MySQL se almacenan en un
directorio común localizado en
C:\
Program
Files
\MySQL, donde
Program Files
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.
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”.
El asistente de configuración MySQL automatiza el proceso de
configurar el servidor bajo Windows. Crea un fichero
my.ini
personalizado, realizando una
serie de preguntas y aplicando las respuestas a una plantilla
para generar un fichero my.ini
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.
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
bin
de la instalación MySQL y ejecutar
directamente el fichero
MySQLInstanceConfig.exe
.
Si el asistente de configuración MySQL detecta un fichero
my.ini
preexistente, se tiene la opción
de reconfigurar el servidor o quitar la instancia borrando el
fichero my.ini
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 my.ini
actual será renombrado
como
my
timestamp
.ini.bak,
donde timestamp
es la fecha y hora
en que el fichero my.ini
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
my.ini
. Los ficheros del servidor,
incluyendo el directorio data
, 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.
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.
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.
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 InnoDB
estará disponible y
qué porcentaje de los recursos de servidor estarán
disponibles para InnoDB
-
Base de datos polifuncional (Multifunctional database) : Esta opción habilita tanto el motor de almacenamiento
InnoDB
comoMyISAM
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
InnoDB
comoMyISAM
, pero destina más recursos del servidor al motorInnoDB
. Se recomienda para usuarios que emplearánInnoDB
casi exclusivamente, y harán un uso mínimo deMyISAM
-
Base de datos no-transaccional exclusiva (Non-transactional database only) : Esta opción deshabilita completamente el motor de almacenamiento
InnoDB
y destina todos los recursos del servidor al motorMyISAM
. Recomendado para usuarios que no utilizaránInnoDB
.
Algunos usuarios pueden querer ubicar los ficheros
InnoDB
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
InnoDB
, 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.
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.
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.
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
Latin1
como el juego de caracteres por defecto en el servidor.Latin1
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
UTF8
como el conjunto de caracteres por defecto en el servidor.UTF8
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.
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 MySQL
. 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) .
Se recomienda fuertemente que se establezca una contraseña
para el usuario root
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
root
, 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 root
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
root
.
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.
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 my-template.ini
y
se localiza en el directorio de instalación del servidor.
Luego, el asistente de configuración guarda dichas opciones
en el fichero my.ini
. 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
root
, el asistente de configuración MySQL
se conectará al servidor, establecerá la nueva contraseña
para root
, 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.
El asistente de configuración MySQL coloca el fichero
my.ini
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 my.ini
, durante la instalación
del servicio se pasa al servidor un argumento similar a este:
--defaults-file="
C:\Program
Files\MySQL\MySQL Server 5.0
\my.ini",
donde C:\Program Files\MySQL\MySQL Server
5.0
se reemplaza con la ruta de instalación del
servidor MySQL.
--defaults-file
le indica al servidor MySQL
que lea el fichero especificado en busca de opciones de
configuración.
Para modificar el fichero my.ini
, 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 my.ini
ubicado en el directorio
de instalación del servidor. Para configurar las aplicaciones
cliente y de utilidades, debe crearse un nuevo fichero
my.ini
en el directorio
C:\Windows
o
C:\WINNT
, según corresponda a la
versión de Windows que se esté ejecutando.
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:
-
Extraer el contenido del fichero dentro del directorio de instalación deseado.
-
Crear un fichero de opciones.
-
Elegir un tipo de servidor MySQL
-
Iniciar el servidor MySQL.
-
Establecer la seguridad de las cuentas de usuario por defecto.
El proceso completo se describe en las secciones siguientes.
Para instalar MySQL manualmente, debe hacerse lo siguiente:
-
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.
-
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.
-
Debe elegirse una ubicación para la instalación. Tradicionalmente, el servidor MySQL se ha venido colocando en
C:\mysql
, y el asistente de instalación lo hace enC:\Program Files\MySQL
. Si no se instala enC:\mysql
, 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”. -
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.
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 (
C:\Archivos de Programa\MySQL\MySQL Server 5.0
yC:\Archivos de Programa\MySQL\MySQL Server 5.0\data
). -
Es necesario afinar la configuración del servidor
Cuando el servidor MySQL para Windows se inicia, busca opciones
en dos ficheros: en my.ini
en el directorio
de Windows, y en C:\my.cnf
. El directorio
de Windows generalmente es C:\WINDOWS
o
C:\WINNT
. Se puede verificar el valor
exacto consultando la variable de entorno
WINDIR
por medio del siguiente comando:
C:\> echo %WINDIR%
MySQL buscará opciones primero en el fichero
my.ini
y luego en
my.cnf
. Sin embargo, para evitar
confusiones, es mejor emplear un solo fichero. Si el ordenador
utiliza un gestor de arranque donde C:
no
es la unidad de inicio, la única opción será
my.ini
. 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 my-small.cnf
,
my-medium.cnf
,
my-large.cnf
, y
my-huge.cnf
. 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 E:\mysql
y el
directorio de datos es E:\mydata\data
, se
puede crear un fichero de opciones que contenga una sección
[mysqld]
para especificar los valores que
tendrán 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=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 data
en la nueva ubicación. Por
ejemplo, si MySQL se instala en C:\Program
Files\MySQL\MySQL Server 5.0
, el directorio de datos
estará por defecto en C:\Program Files\MySQL\MySQL
Server 5.0\data
. Si se quiere que el directorio de
datos sea E:\mydata
deben hacerse dos
cosas:
-
Desplazar el directorio data y todo su contenido desde
C:\Program Files\MySQL\MySQL Server 5.0\data
hastaE:\mydata
. -
Emplear la opción
--datadir
para especificar la nueva ubicación del directorio data cada vez que se inicia el servidor.
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 InnoDB y
BDB . |
mysqld | Ejecutable optimizado con soporte para InnoDB |
mysqld-nt | Ejecutable optimizado para Windows NT, 2000, y XP con soporte para named pipes. |
mysqld-max | Ejecutable optimizado con soporte para tablas InnoDB
y BDB . |
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
mysql-max-nt
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
--enable-named-pipe
. 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.
La información de esta sección se aplica principalmente si se
está instalando MySQL con la versión
Noinstall
, 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
--shared-memory
. Los clientes pueden
conectarse a través de memoria compartida (shared memory) si
usan la opción --protocol=memory
.
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: C:\Program
Files\MySQL\MySQL Server 5.0
. 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
InnoDB
, 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 --console
, el servidor
dirige la información de diagnóstico hacia el registro de
errores en el directorio de datos (por defecto,
C:\Program Files\MySQL\MySQL Server
5.0\data
). El registro de errores es el fichero con
extensión .err
.
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”.
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 root
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 C:\Program
Files\MySQL\MySQL Server 5.0\data
. Es el fichero con
extensión .err
. 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
--standalone --debug
. En este caso,
mysqld guardará un fichero de registro
llamado C:\mysqld.trace
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.
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 root
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 root
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 bin
de MySQL puede
agregarse a la variable de entorno de Windows
PATH
:
-
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
bin
de MySQL (por ejemplo,C:\Program Files\MySQL\MySQL Server 5.0\bin
). 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
bin
de MySQL alPATH
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
PATH
; 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
--install
. El nombre por defecto esMySQL
. -
Si se indica un nombre de servicio, solamente puede especificarse una opción a continuación. Por convención, esta debería ser
--defaults-file=
file_name
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
--defaults-file
, pero no se recomienda.--defaults-file
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--defaults-file
no está soportado hasta la versión 5.0.3. -
A partir de la versión 5.0.1, puede especificarse la opción
--local-service
a continuación del nombre del servicio. Esto provoca que el servidor se ejecute empleando la cuentaLocalService
de Windows, que tiene privilegios de sistema limitados. Esta cuenta existe solamente en Windows XP y posteriores. Si ambas opciones--defaults-file
y--local-service
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 (
MySQL
) a continuación de la opción--install
, el servidor tomará el nombre de servicioMySQL
y leerá opciones desde el grupo[mysqld]
en los ficheros de opciones estándar. -
Si el comando de instalación como servicio especifica un nombre de servicio distinto a
MySQL
luego de la opción--install
, 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
[mysqld]
de los ficheros de opciones estándar. Esto permite usar el grupo[mysqld]
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
--defaults-file
después del nombre del servicio, el servidor leerá opciones solamente desde el grupo[mysqld]
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
(MySQL
) se suministró a continuación de la
opción --install
. Si no se hubiera indicado
la opción --defaults-file
, este comando
hubiese tenido como efecto que el servidor leyera el grupo
[mysqld]
de los ficheros de opciones
estándar. No obstante, debido a que la opción
--defaults-file
se encuentra presente, el
servidor leerá las opciones del grupo
[mysqld]
, 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, C:\Program Files\MySQL\MySQL
Server 5.0\data
). Es el fichero con extensión
.err
.
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 Services
, 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 --install-manual
en lugar de
--install
:
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 --remove
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.
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
--skip-name-resolve
y utilizar solamente
localhost
y números de IP en la columna
Host
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
--pipe
o --protocol=PIPE
,
o indicando .
(punto) como nombre de host. La
opción --socket
se utilizará para
especificar el nombre del pipe.
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 my.ini
. La ubicación por
defecto es C:\Program Files\MySQL\MySQL Server
5.0\data
. 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
mysql
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 (C:\mysql
yC:\Program Files\MySQL\MySQL Server 5.0\data
, 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
C:\Program Files\MySQL\MySQL Server 5.0
es necesario asegurarse de que el servidor MySQL está al tanto de esto a través del uso de un fichero de configuración (my.ini
). El ficheromy.ini
debe estar localizado en el directorio de Windows, generalmenteC:\WINNT
oC:\WINDOWS
. Se puede determinar su ubicación exacta a partir de la variable de entornoWINDIR
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
E:\mysql
y el directorio de datos esD:\MySQLdata
, se puede crear el fichero de opciones y establecer una sección llamada[mysqld]
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
mysql
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
sc
, puede descargarse la utilidaddelsrv
desde http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp y utilizarla con la sintaxisdelsrv mysql
.
Esta sección detalla algunos pasos a seguir cuando se actualiza MySQL para Windows.
-
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”.
-
Descargar la última distribución de MySQL para Windows desde http://dev.mysql.com/downloads.
-
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
-
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.
-
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”.
-
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
C:\mysql
), o instalar la nueva versión en una ubicación diferente, comoC:\mysql5
. Se recomienda sobreescribir la instalación existente. -
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.
-
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.
-
Si se producen errores, consulte Sección 2.3.14, “Resolución de problemas en la instalación de MySQL bajo Windows”.
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
pread()
ypwrite()
para ser capaz de mezclarINSERT
ySELECT
. Actualmente se usan mutexes para emularpread()
ypwrite()
. Se planea reemplazar en un futuro la interfaz a nivel de ficheros con una interfaz virtual, de modo que se pueda utilizar la interfazreadfile()
/writefile()
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.
-
-
ALTER TABLE
Mientras se está ejecutando una sentencia
ALTER TABLE
, 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. -
DROP TABLE
Realizar
DROP TABLE
sobre una tabla que está en uso por una tablaMERGE
no funcionará en Windows porque el manejadorMERGE
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 tablasMERGE
(conFLUSH TABLES
) o eliminar la tablaMERGE
antes de borrar la tabla en cuestión. -
DATA DIRECTORY
eINDEX DIRECTORY
Las opciones de
CREATE TABLE
DATA DIRECTORY
eINDEX DIRECTORY
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 llamadarealpath()
funcional. -
DROP DATABASE
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á utilizandoLOAD DATA INFILE
oSELECT ... INTO OUTFILE
, 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
^Z
/CHAR(24)
, 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
^Z
/CHAR(24)
, 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
Access denied for user
(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
Access denied for user '
algún-usuario
'@'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
\windows\hosts
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.