Si ocurren problemas durante el inicio del servidor, inténtese lo siguiente:
Especificar cualquier opción especial necesaria para el motor de almacenamiento en uso.
Asegurarse de que el servidor conoce dónde se encuentra el directorio de datos.
Cerciorarse de que el servidor pueda utilizar el directorio de datos. El propietario y los permisos sobre el directorio de datos y su contenido deben establecerse de forma que el servidor sea capaz de acceder a ellos y modificarlos.
Inspeccionar el registro de errores para ver porqué el servidor no se inicia.
Verificar que están disponibles las interfaces de red que el servidor intenta utilizar.
          Algunos motores de almacenamiento tienen opciones que
          controlan su comportamiento. Se puede crear un fichero
          my.cnf y establecer opciones de inicio
          para el motor que se planea utilizar. Si se van a usar motores
          de almacenamiento con soporte para tablas transaccionales
          (InnoDB, BDB), hay que
          asegurarse de que se han configurado según lo deseado antes
          de iniciar el servidor:
        
              Si se están empleando tablas InnoDB,
              hay que remitirse a las opciones de inicio específicas.
              En MySQL 5.0, InnoDB utiliza valores
              por defecto para sus opciones de configuración si no se
              indica ninguna. Consulte
              Sección 15.3, “Configuración de InnoDB”.
            
              Si se están usando tablas BDB
              (Berkeley DB), será necesario familiarizarse con las
              diferentes opciones de inicio específicas de
              BDB. Consulte
              Sección 14.4.3, “Opciones de arranque de BDB”.
            
Cuando el servidor mysqld se inicia, se posiciona en el directorio de datos. Aquí es donde espera encontrar bases de datos y donde grabará sus ficheros de registro. En Unix, también grabará aquí el fichero pid (process ID, o identificador de proceso).
          La ubicación del directorio de datos se establece en forma
          fija cuando se compila el servidor. Aquí es donde, por
          defecto, buscará el directorio de datos. Si el mismo se
          encuentra en otra parte del sistema, el servidor no
          funcionará correctamente. Se puede conocer la ubicación por
          defecto ejecutando mysqld con las opciones
          --verbose y --help.
        
Si los valores por defecto no coinciden con la instalación realizada en el sistema, se los puede sustituir especificando opciones para mysqld o mysqld_safe en la linea de comandos. También se pueden colocar en un fichero de opciones.
          Para especificar explícitamente la ubicación del directorio
          de datos, se emplea la opción --datadir.
          Sin embargo, normalmente se le puede indicar a
          mysqld la ubicación del directorio base
          donde está instalado MySQL, y el servidor buscará allí el
          directorio de datos. Esto se hace con la opción
          --basedir option.
        
          Para verificar los efectos de especificar opciones de ruta,
          hay que invocar mysqld con dichas opciones
          seguidas de --verbose y
          --help. Por ejemplo, posicionándose donde
          mysqld está instalado, y ejecutando los
          siguientes comandos, se verán los efectos de iniciar el
          servidor en el directorio base
          /usr/local:
        
shell> ./mysqld --basedir=/usr/local --verbose --help
          Se pueden suministrar otras opciones, como
          --datadir, pero hay que tener en cuenta que
          --verbose y --help deben
          aparecer en último lugar.
        
          Una vez que se haya logrado determinar la configuración de
          ruta deseada, iniciar el servidor sin
          --verbose y --help.
        
Si mysqld ya está ejecutándose, se puede conocer la configuración de rutas que está usando mediante la ejecución de este comando:
shell> mysqladmin variables
O bien:
shell> mysqladmin -h host_name variables
          host_name es el nombre del host del
          servidor MySQL.
        
          Si se obtuviera el Errcode 13 (que
          significa Permission denied (permiso
          denegado)) al iniciar mysqld,
          indica que los permisos de acceso al directorio de datos o a
          su contenido no permiten el acceso del servidor. En este caso,
          hay que cambiar los permisos sobre los directorios y ficheros
          involucrados para que el servidor tenga derecho a usarlos.
          También se puede iniciar el servidor bajo el usuario de
          sistema operativo root, pero esto puede
          traer aparejados problemas de seguridad y debería ser
          evitado.
        
          En Unix, hay que posicionarse en el directorio de datos y
          verificar el propietario del directorio y su contenido para
          asegurarse de que el servidor tiene acceso. Por ejemplo, si el
          directorio de datos es
          /usr/local/mysql/var, usar este comando:
        
shell> ls -la /usr/local/mysql/var
Si el directorio de datos o sus ficheros o subdirectorios no tienen como propietario a la cuenta empleada para ejecutar el servidor, cambiar el propietario para que sea esa cuenta:
shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysql/var
          Si el servidor falla en iniciarse correctamente, verificar el
          fichero de registro de errores para ver si se puede encontrar
          la causa. Los ficheros de registro se localizan en el
          directorio de datos (generalmente, C:\Program
          Files\MySQL\MySQL Server 5.0\data en Windows,
          /usr/local/mysql/data en una
          distribución binaria de Linux, y
          /usr/local/var en una distribución de
          código fuente de Linux). Se buscan en el directorio de datos
          los ficheros con un nombre con la forma
          host_name.errhost_name.loghost_name es el nombre del
          host del servidor. Luego, examinar las últimas líneas de
          estos ficheros. En Unix, puede utilizarse
          tail para mostrarlas:
        
shell> tailhost_name.err shell> tailhost_name.log
El registro de errores contiene información que indica el motivo por el cual el servidor no ha podido iniciarse. Por ejemplo, es posible ver algo como esto al examinarlo:
000729 14:50:10 bdb: Recovery function for LSN 1 27595 failed 000729 14:50:10 bdb: warning: ./test/t1.db: No such file or directory 000729 14:50:10 Can't init databases
          Esto significa que no se inició mysqld con
          la opción --bdb-no-recover y Berkeley DB
          halló algo incorrecto con sus propios ficheros de registro
          cuando intentó recuperar las bases de datos. Para que sea
          posible continuar, habría que mover los ficheros de registro
          Berkeley DB antiguos desde el directorio de bases de datos a
          alguna otra ubicación, donde puedan examinarse
          posteriormente. Los ficheros de registro
          BDB reciben nombres en secuencia comenzando
          en log.0000000001, donde el número se
          incrementa cada vez.
        
          Si se está ejecutando mysqld con soporte
          para tablas BDB y mysqld
          realiza un volcado del núcleo al inicio, podría deberse a
          problemas con el registro de recuperación de
          BDB. En este caso, se puede intentar el
          inicio de mysqld con
          --bdb-no-recover. Si esto ayuda, entonces
          se deberían eliminar todos los ficheros de registro
          BDB del directorio de datos e intentar el
          inicio de mysqld nuevamente, sin la opción
          --bdb-no-recover.
        
Si ocurriese cualquiera de los siguientes errores, significa que algún otro programa (quizá otro servidor mysqld) está utilizando el puerto TCP/IP o socket Unix que mysqld intenta emplear:
Can't start server: Bind on TCP/IP port: Address already in use Can't start server: Bind on unix socket...
Utilizar ps para determinar si se tiene otro servidor mysqld en ejecución. Si es así, detener el servidor antes de iniciar mysqld de nuevo. (si hay otro servidor ejecutándose, y realmente se desea tener múltiples servidores, se puede hallar información sobre cómo hacerlo en Sección 5.11, “Ejecutar más de un servidor MySQL en la misma máquina”.)
          Si no hay otro servidor ejecutándose, inténtese ejecutar el
          comando telnet nombre-de-host
          número-puerto-TCP-IP. (El número de puerto MySQL
          por defecto es 3306). Luego presionar Enter un par de veces.
          Si no se obtiene un mensaje de error como telnet:
          Unable to connect to remote host: Connection
          refused, algún otro programa está ocupando el
          puerto TCP/IP que mysqld está intentando
          utilizar. Se necesitará determinar qué programa es y
          desactivarlo, o bien indicar a mysqld que
          escuche en un puerto diferente mediante la opción
          --port. En este caso, también se
          necesitará especificar el número de puerto en los programas
          cliente cuando se conecten al servidor a través de TCP/IP.
        
Otra razón por la que el puerto podría ser inaccesible es que se tenga un firewall que bloquee las conexiones a él. Si es así, modificar la configuración del firewall para permitir el acceso a ese puerto.
          Si el servidor se inicia pero no es posible conectarse a él,
          habría que cerciorarse de que se tiene una entrada en
          /etc/hosts que se vea así:
        
127.0.0.1 localhost
Estre problema ocurre solamente en sistemas que no tienen una biblioteca para trabajo con subprocesos y para los cuales MySQL debe configurarse para usar MIT-pthreads.
          Si no es posible iniciar mysqld, se puede
          generar un fichero de seguimiento para hallar el problema
          utilizando la opción --debug. Consulte
          Sección D.1.2, “Crear ficheros de traza”.
        
Consulte Sección 2.3.14, “Resolución de problemas en la instalación de MySQL bajo Windows” para obtener mayor información sobre la resolución de problemas en instalaciones Windows.
É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.

