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
y C:\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 fichero
my.ini
debe estar localizado en el
directorio de Windows, generalmente
C:\WINNT
o
C:\WINDOWS
. Se puede determinar su
ubicación exacta a partir de la variable de entorno
WINDIR
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 es D:\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
utilidad delsrv
desde
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp
y utilizarla con la sintaxis delsrv
mysql
.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.