Post actualizado el día octubre 29, 2026 by DeiviSanzPlay
El error de XAMPP phpMyAdmin acceso denegado aparece casi siempre con el mensaje «Access denied for user ‘root’@’localhost’» o con una pantalla en blanco tras meter la contraseña. No es un fallo de instalación: es la forma que tiene MySQL/MariaDB de decirte que las credenciales que envía phpMyAdmin no coinciden con las que tiene el servidor. Y en XAMPP pasa muchísimo porque el usuario root suele quedarse sin contraseña hasta que alguien la cambia y se olvida de avisar a phpMyAdmin.
La causa más común del XAMPP phpMyAdmin acceso denegado es haber establecido una contraseña al root desde la pestaña «Cuentas de usuario» de phpMyAdmin o con un script, mientras el archivo de configuración sigue apuntando a una contraseña vacía. Ocurre igual si importaste una base de datos desde otro equipo y esa base trae sus propios usuarios MySQL.
Dónde se corrige realmente el fallo de credenciales
El archivo que manda es config.inc.php, dentro de la carpeta xampp/phpMyAdmin. Ahí están las líneas que definen el usuario y la contraseña con los que phpMyAdmin intenta entrar. Si el servidor tiene contraseña y el archivo no, el acceso denegado en phpMyAdmin de XAMPP está garantizado.
Abre ese archivo con un editor de texto normal, busca $cfg[‘Servers’][$i][‘password’] y escribe entre las comillas la contraseña real del root. Si el campo está vacío y tú nunca pusiste contraseña, el problema puede ser otro: revisa que $cfg[‘Servers’][$i][‘auth_type’] esté en ‘config’ y no en ‘cookie’ mezclado con credenciales antiguas en caché del navegador.
Hay un caso que se me quedó grabado: un compañero reinstaló XAMPP tres veces por este error. El problema real era que tenía otro MySQL corriendo en el puerto 3306 como servicio de Windows. phpMyAdmin se conectaba a ese otro servidor, no al de XAMPP. Cambiar el puerto de MySQL de XAMPP a 3307 y ajustar $cfg[‘Servers’][$i][‘port’] lo resolvió en dos minutos. Ese es el tipo de cosa que no arregla ninguna guía genérica.
Restablecer la contraseña del root cuando ya no hay acceso
Si no recuerdas la contraseña, el camino es entrar por consola con el servidor MySQL detenido parcialmente. Desde la shell de XAMPP puedes arrancar MySQL con mysqld –skip-grant-tables, entrar con mysql -u root sin contraseña, ejecutar ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘nueva_clave’; y reiniciar el servicio normal. Después actualizas config.inc.php con esa clave.
Esto no funciona si el servicio de MySQL está registrado en Windows y arranca automático con el sistema: primero tendrás que detenerlo desde Servicios o el comando net stop mysql. Tampoco sirve si otro proceso ocupa el puerto. Es un detalle que muchos tutoriales omiten y que provoca que el acceso denegado en phpMyAdmin de XAMPP siga ahí después de «resetear» la contraseña.
Permisos de usuario: cuando la contraseña es correcta pero el error persiste
Existe otra variante del XAMPP phpMyAdmin acceso denegado que no tiene que ver con contraseñas sino con privilegios. Si el usuario root solo tiene permisos para localhost y accedes desde 127.0.0.1, MySQL lo trata como un host distinto y rechaza la conexión. La solución es otorgar privilegios a ‘root’@’127.0.0.1’ o cambiar el host en la configuración a localhost.
En equipos con PHP actualizado, otro detalle: la extensión mysqli debe estar activa en php.ini. Si desactivaste extensiones para acelerar Apache, phpMyAdmin puede devolver un error de autenticación confuso. Comprueba que extension=mysqli no esté comentada.
Cuándo el problema no tiene arreglo dentro de XAMPP
Si tu instalación es la versión portable y ejecutas desde una unidad de red, los permisos NTFS pueden bloquear la escritura del archivo de sesión de phpMyAdmin y provocar un acceso denegado intermitente. En ese escenario, mover la carpeta a una ruta local como C:xampp es la única salida fiable.
La documentación oficial de Apache Friends y los manuales de MySQL recogen los parámetros de autenticación, pero no hay una solución universal: cada entorno cambia. Revisar el log mysql_error.log dentro de xampp/mysql/data te dirá exactamente por qué se rechaza la conexión. Ese archivo es la fuente más honesta que tienes antes de tocar nada más.
Perfiles verificables: Sitio web
Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.