X

Wampserver, icono en amarillo y MySQL no arranca

Si sueles programar páginas web y debido a las circunstancias tienes que hacerlo utilizando windows, seguramente uno de Wamps (windows apache mysql php) que te habrás acabado instalando es el famoso WampServer, que funciona realmente bien, pero a veces nos puede dar problemas como que mysql deja de funcionar tras reiniciar el equipo.

Esto no es un problema aislado, y se puede deber a infinidad de motivos, desde que se haya suspendido o hibernado el equipo provocando un problema en la tabla de datos de mysql, hasta que sin motivo aparente entren en conflicto las ids de algunas bases de datos que tengamos creadas.

Los síntomas para lo que vamos a tratar de solucionar aquí son los siguientes:

  • Wampserver arranca y se queda el icono en amarillo
  • Si hacemos click izquierdo en el icono y nos vamos a mysql > service, veremos que está en verde Start/resume service, lo que indica que no está ejecutado
  • Las páginas que tenemos en localhost cargan, pero la conexión con mysql nos suelta un error
  • Si tratamos de conectar a mysql con un programa externo no encuentra el servidor.

Estos serían a grandes rasgos los puntos a revisar para estar seguros de que mysql falla al arrancar wampserver, y no es un problema de apache o de otro servicio.

Como arreglar mysql que no arranca en wampserver

Para solucionar este problema vamos a tener que analizar cual es la causa, ya que seguramente hasta hace nada te funcionaba perfectamente, y sin haber modificado nada ha dejado de funcionar. Es lo que nos suele pasar a todos y es exasperante.

Lo primero será revisar el log, y para ello tendremos que irnos a la carpeta donde se guardan las bases de datos, en mi caso en la instalación de wampserver en:

wamp\bin\mysql\mysql5.6.17\data

Ahí deberíamos encontrar un archivo .err que seguramente tendrá el nombre que le hayamos dado a nuestro equipo en la instalación. Debería haber solo uno, pero si hay más de uno mira el que se ha modificado más recientemente. Lo abrimos con cualquier editor de textos (bloc de notas, notepad++, etc) y nos vamos a la última línea.

Si el error nos lo ha dado tras un reinicio nos deberíamos encontrar un error en la ejecución de mysql similar a este:

2015-03-23 09:51:27 5756 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace midb/wp_comments uses space ID: 12 at filepath: .\midb\wp_comments.ibd. Cannot open tablespace otradb/rc_navigation which uses space ID: 12 at filepath: .\otradb\rc_navigation.ibd

Es un error bastante común y suele pasar cuando no se guardan bien los datos por un mal apagado del equipo (si por ejemplo se te ha ido la luz), o por que se ha hibernado o suspendido y no ha terminado de escribir las tablas de innodb.

Por ahí solucionan estos problemas eliminando los archivos ib_logfile0, ib_logfile1 e ibdata1, pero si haces eso, que hará que te vuelva a funcionar mysql, todas las bases de datos que tienes van a quedar inservibles, y esto es por que en esos archivos está toda la información acerca de las tablas y bases de datos.

Nosotros lo que vamos a hacer en lugar de eso, es coger una de las dos carpetas con las bases de datos que dan problemas, por ejemplo moveremos la carpeta midb al escritorio.

A partir de aquí, si le damos a wampserver > reiniciar todos los servicios, veremos que ya se pone en verde y que nos vuelve a funcionar mysql con normalidad, pero por supuesto la base de datos midb ha desaparecido. Para volver a tener funcionando las dos bases de datos que entran en conflicto de nuevo lo que tendremos que hacer es lo siguiente:

  1. Exportar a sql
    Ahora que tenemos mysql funcionando, y sabiendo que las dos bases de datos en conflicto eran midb y otradb (hemos movido la carpeta midb al escritorio y hemos ejecutado mysql), lo que haremos será exportar otradb a un archivo sql para luego poder importarlo.
  2. Parar wampserver y cambiar carpetas
    Ahora pararemos wampserver y moveremos otradb al escritorio, y luego moveremos midb a la carpeta de las bases de datos de mysql (donde estaba al principio).
  3. Importar sql
    Ahora que ya tenemos mysql funcionando con midb, solo tenemos que crear una nueva base de datos e importar el archivo otradb.sql que hemos creado antes.

De esta forma al importar creará nuevas ids en las bases de datos que añadimos y no tendremos ningún error al ejecutar de nuevo wampserver. Veremos como se pone el icono en verde y a partir de ahí podremos funcionar con normalidad.

Recuerda, trata de hacerte siempre backups periódicos de todas tus bases de datos incluso de las que usas en desarrollo, ya que problemas como este se podrían solucionar en segundos eliminando todo y restaurando un backup.

¿Has tenido este problema? ¿Como has solucionado el icono amarillo de wampserver?

VicHaunter:
    Categorías: Ayuda

Ver comentarios (4)

  • Yo hice algo que no es muy técnico y no se si es una solución con problemas a largo plazo pero fue lo que hice y me funcionó.
    Al principio comencé a hacerlo de la forma en que indicas pero tengo muchas bases de datos locales y eran muchas las que estaban en conflicto, entonces me cansé y ensayé los siguientes pasos:
    - Moví todas las carpetas de las bases de datos excepto la que se llama mysql a un directorio temporal.
    - Reinicié los servicios de WampServer y el icono se puso verde.
    - Moví nuevamente las carpetas de las bases de datos a su posición original.
    - Reinicié nuevamente los servicios de WampServer y el icono se puso verde.
    Después de esto cargué los sitios incluyendo los de las bases de datos que tenían conflicto y me cargaban sin problemas.

    • Por lo que comentas puede que se estuviera quedando colgado el servicio de bases de datos al cargar alguna de ellas en un orden determinado o quizás por la fragmentación de los archivos, es raro.

      De todas formas hay que tener en cuenta que al mover bases de datos en mysql hay que tener cuidado, ya que no se pueden copiar directamente entre servidores y moverlas así puede hacer que se vacíen las tablas generales y dejen de funcionar.

  • Hola, está genial el tutorial, únicamente me he trabajo en los 3 pasos de exportar, para e importar, no se hacerlo.

    Saludos!

Artículo relacionado
Los comentarios de Disqus están cargando....

Como todos, usamos cookies.