Informática y Software Práctico

XAMPP instalar Drupal entorno: el fallo del puerto 3306

Post actualizado el día octubre 29, 2026 by DeiviSanzPlay

Cuando alguien intenta XAMPP instalar Drupal entorno local por primera vez, el error que aparece una y otra vez no es de Drupal ni de PHP: es MySQL negándose a arrancar porque el puerto 3306 ya está ocupado. XAMPP muestra el módulo MySQL en verde un segundo, luego parpadea y se apaga sin decir demasiado. Se pierden horas reinstalando XAMPP, cambiando la versión de Drupal o culpando al hosting local, cuando el problema real es otro servicio escuchando en el mismo puerto.

Me pasó con un Drupal 10 recién descargado en un portátil con MariaDB del sistema instalado de un proyecto anterior. XAMPP arrancaba Apache sin queja, pero MySQL moría en silencio. El instalador de Drupal llegaba a la pantalla de configuración de base de datos y devolvía un error de conexión genérico que no menciona el puerto en ningún momento.

Por qué el puerto 3306 arruina la instalación de Drupal en XAMPP

XAMPP trae su propio MySQL/MariaDB, pero no comprueba si otro servidor de bases de datos ya está corriendo en el equipo. En Windows es habitual tener MySQL instalado como servicio del sistema; en macOS, un MariaDB de Homebrew; en Linux, el paquete mysql-server de la distribución. Cualquiera de ellos ocupa el 3306 y bloquea el de XAMPP.

El síntoma típico: el panel de XAMPP dice que MySQL está iniciado, pero al intentar conectar desde phpMyAdmin o desde el instalador de Drupal, la conexión se rechaza o se queda colgada. En los logs de XAMPP (mysql_error.log) aparece algo como «Do you already have another mysqld server running on port: 3306?». Ese mensaje es la pista que casi nadie lee.

Cómo confirmarlo antes de tocar nada

Antes de reinstalar, abre una terminal y comprueba qué proceso escucha en el puerto. En Windows: netstat -ano | findstr :3306. En macOS o Linux: lsof -i :3306 o ss -tulpn | grep 3306. Si aparece un PID distinto al de mysqld de XAMPP, ahí está el culpable.

También puedes abrir el panel de XAMPP, pulsar «Config» junto a MySQL y revisar my.ini (Windows) o my.cnf (macOS/Linux). Ahí se ve el puerto configurado. Si es 3306 y hay otro servicio, hay conflicto.

Tres salidas posibles y cuál elegir

La primera opción es detener el MySQL del sistema antes de arrancar XAMPP. En Windows: net stop mysql o deshabilitarlo en services.msc. En macOS: brew services stop mariadb. Es lo más limpio si no necesitas ese servidor mientras trabajas en Drupal.

La segunda es cambiar el puerto de MySQL en XAMPP a 3307 (o el que esté libre) editando my.ini y reiniciando. Ojo: después tendrás que indicar ese puerto en la configuración de Drupal, tanto en la pantalla del instalador como en settings.php. Si no lo haces, Drupal seguirá buscando 3306 y fallará igual.

La tercera, la que yo recomiendo para proyectos serios, es no mezclar: usar una máquina virtual o Docker para el entorno local y dejar XAMPP para pruebas rápidas. XAMPP instalar Drupal entorno funciona bien cuando el equipo está limpio, pero se vuelve frágil si convive con otros stacks.

Lo que este enfoque no resuelve

Cambiar el puerto no arregla problemas de extensiones PHP. Drupal 10 exige extensiones como pdo_mysql, gd, mbstring y opcache; XAMPP las trae casi todas activas, pero no todas. Si tras resolver el puerto aparece un error de «missing extension», revisa php.ini y habilita las que falten.

Tampoco resuelve el rendimiento. XAMPP en Windows con Drupal y cachés activas va lento en comparación con un entorno Linux nativo o con contenedores. Para desarrollo real, muchos equipos migran a DDEV o Lando después de la primera semana. XAMPP instalar Drupal entorno sirve para aprender, no para producción.

Una comprobación que casi nadie hace

Antes de lanzar el instalador de Drupal, crea la base de datos a mano desde phpMyAdmin con cotejamiento utf8mb4_general_ci. Drupal puede crearla, pero si el usuario root de XAMPP no tiene permisos suficientes o el puerto está mal, el error se confunde con un fallo de credenciales. Tener la base creada de antemano separa los problemas y ahorra tiempo.

El error del puerto 3306 no es el único al instalar Drupal en XAMPP, pero sí el más frecuente y el que más confunde porque el mensaje que devuelve Drupal no lo menciona. Revisar el log de MySQL antes de reinstalar cualquier cosa es el hábito que separa una instalación de diez minutos de una tarde perdida.


Sobre el autor: DeiviSanzPlay — Soy David Sanz, Editor y Responsable de Contenidos. Mi trabajo consiste en revisar, corregir y mejorar los contenidos de este blog para que la información sea clara, útil y esté bien estructurada. Trabajo con diferentes temáticas y verticales, por lo que una parte importante de mi día a día es analizar cada contenido, cuidar la redacción y asegurar que el lector encuentre información de calidad. Me gusta prestar atención a los detalles. Desde una corrección de estilo hasta la organización de un artículo, todo cuenta cuando se trata de crear contenidos que realmente aporten valor y sean fáciles de entender. En este blog encontrarás artículos sobre diferentes temas y sectores. Mi responsabilidad es cuidar y supervisar cada contenido para que mantenga unos estándares de calidad y ofrezca una buena experiencia a quien nos visita. Porque para mí, un buen contenido no consiste únicamente en escribir. También hay que revisar, contrastar, ordenar y pensar en la persona que está al otro lado de la pantalla.

Perfiles verificables: Sitio web

Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.