🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar 'Access denied for user' en MySQL (Plesk)

Actualizado el 24 de noviembre de 2025

¡Hola! Si has llegado hasta aquí, probablemente te has encontrado con el temido mensaje "Access denied for user" al intentar conectar con tu base de datos MySQL en Plesk. No te preocupes, es uno de los errores más comunes en el mundo del hosting y, por suerte, en el 99% de los casos tiene una solución sencilla que no requiere ser un gurú de la programación.

En esta guía extensa y paso a paso, vamos a desglosar qué significa este error, por qué ocurre y, lo más importante, cómo solucionarlo de forma definitiva. Vamos a ello.

¿Qué significa exactamente "Access denied for user"?

Cuando ves un error como Access denied for user 'mi_usuario'@'localhost' (using password: YES), lo que MySQL te está diciendo es literalmente: "He recibido tu solicitud de conexión, pero no me cuadran los datos de identificación o no tienes permiso para entrar desde donde lo intentas".

Imagina que intentas entrar en un edificio de oficinas. El portero (MySQL) te pide tu carnet (usuario y contraseña). Si el carnet está caducado, lo has olvidado, o intentas entrar por la puerta de servicio cuando solo puedes usar la principal, el portero te dirá "Acceso denegado". El @'localhost' es la puerta por la que intentas entrar (desde el propio servidor) y using password: YES significa que sí enviaste una contraseña, pero no era la correcta.

Este error es especialmente frustrante porque no te dice si el problema es el usuario, la contraseña o los permisos, así que vamos a investigar las tres posibilidades en orden de probabilidad.

Causas más comunes del error en Plesk

Antes de lanzarnos a solucionar, es útil saber qué suele provocar este fallo. Las causas más habituales son:

  1. Contraseña incorrecta o mal copiada: Es la causa número uno. A veces, al crear la base de datos en Plesk, la contraseña se genera con caracteres especiales que se copian mal o se truncan.
  2. Usuario incorrecto: Estás intentando conectar con un usuario que no existe o que pertenece a otra base de datos.
  3. Permisos insuficientes: El usuario existe y la contraseña es correcta, pero no tiene privilegios asignados sobre la base de datos específica que intentas consultar.
  4. Host incorrecto: Intentas conectar desde una IP o dominio que no está en la lista de hosts permitidos para ese usuario. Por ejemplo, el usuario solo puede conectarse desde localhost y tú intentas hacerlo desde otra IP.
  5. Cache de contraseñas o conexiones: A veces, un gestor de contenidos (como WordPress) guarda en su archivo de configuración una contraseña antigua o con caracteres escapados que no coinciden.

Solución paso a paso para el error "Access denied"

Vamos a ir de la solución más simple a la más compleja. Te recomiendo seguir este orden, ya que ahorra tiempo.

Paso 1: Verifica tus credenciales en Plesk (La revisión rápida)

Este es el primer punto de control. Vamos a asegurarnos de que lo que tienes escrito en tu aplicación es exactamente lo que Plesk tiene guardado.

  1. Accede a Plesk con tu cuenta de administrador o de cliente.
  2. En el menú lateral izquierdo, busca la sección "Bases de datos" (o "Databases").
  3. Localiza la base de datos a la que intentas conectarte y haz clic en su nombre.
  4. Verás la información de la base de datos. Hay un apartado llamado "Usuarios" o "Usuarios de bases de datos".
  5. Aquí podrás ver el nombre de usuario exacto. Muy importante: en Plesk, el usuario suele tener un prefijo con el nombre de la cuenta de suscripción. Por ejemplo, si tu suscripción se llama miproyecto, el usuario podría ser miproyecto_admin. Asegúrate de copiar el nombre completo.
  6. Este es el truco: Si no estás seguro de la contraseña, la forma más fácil de solucionarlo es cambiarla directamente desde aquí. Haz clic en el icono de "Cambiar contraseña" (normalmente parece una llave o un lápiz).
  7. Establece una contraseña nueva y segura. Cópiala en un bloc de notas temporal para evitar errores de copiado.
  8. Actualiza el archivo de configuración de tu aplicación (por ejemplo, wp-config.php en WordPress, .env en Laravel, etc.) con la nueva contraseña.

[TIP]: Asegúrate de que la contraseña no contenga caracteres que puedan ser interpretados de forma especial en el archivo de configuración, como comillas simples (') o dobles ("). Si las tiene, sustitúyela por una sin esos caracteres para evitar futuros dolores de cabeza.

Paso 2: Revisa y asigna los permisos del usuario (La solución más común)

Si la contraseña es correcta y el nombre de usuario es exacto, el siguiente paso es verificar los permisos mysql plesk. Un usuario puede existir pero no tener "derecho" a tocar la base de datos.

  1. Vuelve a la sección "Bases de datos" en Plesk.
  2. Haz clic en el nombre de la base de datos problemática.
  3. Busca la pestaña o sección de "Usuarios".
  4. Verás una tabla con los usuarios asociados. A la derecha, suele haber una casilla de verificación o un botón llamado "Privilegios" o "Permisos".
  5. Haz clic en ese botón para editar los permisos.
  6. Se abrirá una lista con todos los privilegios posibles (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
  7. Para la mayoría de las aplicaciones web (WordPress, Joomla, PrestaShop, etc.), lo más recomendable es marcar la casilla "ALL PRIVILEGES" o "Todos los privilegios" en la parte superior. Esto le da control total al usuario sobre esa base de datos.
  8. Haz clic en "OK" o "Aceptar" para guardar los cambios.

[WARNING]: Si tu aplicación es muy específica y solo necesita lectura (SELECT), podrías limitar los permisos por seguridad. Sin embargo, para solucionar el error de acceso y evitar bloqueos, lo más práctico es dar todos los privilegios temporalmente y luego ajustarlos si es necesario.

Paso 3: Verifica el Host de conexión (El detalle que se pasa por alto)

A veces, el error access denied mysql plesk no es por el usuario o la contraseña, sino por desde dónde intentas conectar.

  • ¿Tu aplicación está en el mismo servidor que la base de datos? Entonces el host debe ser localhost o 127.0.0.1.
  • ¿Tu aplicación está en un servidor diferente? Entonces necesitas configurar el acceso remoto y especificar la IP del servidor remoto.

En Plesk, puedes gestionar esto:

  1. Ve a la base de datos y busca la sección de "Acceso remoto" o "Remote Access".
  2. Verás una opción para "Permitir conexiones remotas".
  3. Si necesitas conectarte desde fuera, marca la casilla y añade la IP específica desde la que te vas a conectar. Añadir % permitiría cualquier IP (menos seguro, pero útil para pruebas).
  4. Guarda los cambios.

Además, al editar el usuario, a veces puedes especificar el host. Asegúrate de que el host del usuario coincide con el que usas en tu cadena de conexión.

Paso 4: Solución avanzada mediante SSH (Para valientes)

Si los pasos anteriores no han funcionado, es posible que haya un problema más profundo en la configuración de MySQL. Si tienes acceso SSH a tu servidor, puedes intentar esto. Ojo, requiere conocimientos técnicos.

  1. Accede por SSH a tu servidor.

  2. Conéctate a MySQL como administrador root. El comando suele ser:

    mysql -u root -p
    

    Te pedirá la contraseña de root de MySQL (no la de Plesk).

  3. Una vez dentro, ejecuta el siguiente comando para ver los usuarios y sus hosts:

    SELECT user, host FROM mysql.user;
    
  4. Busca tu usuario. Si ves que host es localhost y tú estás intentando conectar desde 127.0.0.1 o una IP remota, ese es el problema.

  5. Para crear un nuevo usuario con el host correcto o modificar el existente, puedes usar los comandos CREATE USER o RENAME USER. Por ejemplo, para asegurarte de que el usuario puede conectar desde cualquier host:

    RENAME USER 'tu_usuario'@'localhost' TO 'tu_usuario'@'%';
    

    O si prefieres una IP específica:

    RENAME USER 'tu_usuario'@'localhost' TO 'tu_usuario'@'192.168.1.10';
    
  6. Después de esto, aplica los privilegios:

    GRANT ALL PRIVILEGES ON tu_base_de_datos.* TO 'tu_usuario'@'%';
    FLUSH PRIVILEGES;
    

[WARNING]: Usar % como host es un riesgo de seguridad. Asegúrate de que tu cortafuegos (firewall) está bien configurado y solo permite conexiones a MySQL desde IPs de confianza.

Paso 5: Reinicia los servicios (El último recurso)

A veces, los cambios tardan en aplicarse o el demonio de MySQL se ha quedado en un estado extraño.

  1. Desde Plesk, ve a "Herramientas y utilidades" > "Servicios" o "Service Management".
  2. Busca el servicio "MySQL" o "MariaDB".
  3. Haz clic en "Reiniciar" o "Restart".

Esto forzará a MySQL a recargar sus tablas de permisos y puede resolver el error de forma inmediata.

Preguntas Frecuentes (FAQ) sobre el error de acceso MySQL

Para terminar, respondamos a las dudas más habituales que surgen con este error.

¿Por qué recibo este error en WordPress?

En WordPress, la configuración de la base de datos está en el archivo wp-config.php. Lo más común es que la contraseña esté mal, o que el nombre del usuario no tenga el prefijo correcto de Plesk. Revisa las líneas DB_USER y DB_PASSWORD con los datos que ves en Plesk.

¿Qué significa "using password: YES" exactamente?

Significa que MySQL recibió una contraseña en la petición, pero la rechazó. Si el mensaje dijera "using password: NO", significaría que tu aplicación está intentando conectar sin enviar contraseña, lo cual también es un error.

¿Puede ser un problema de que la base de datos está llena?

No, un error de "Access denied" es de autenticación, no de espacio. Si la base de datos estuviera llena, verías un error de "Disk full" o "Query failed".

¿Cómo evito este error en el futuro?

  1. Guarda tus contraseñas en un gestor de contraseñas seguro.
  2. No uses caracteres especiales conflictivos en las contraseñas (como ', ", \).
  3. Cuando crees una base de datos nueva en Plesk, copia el usuario y la contraseña directamente desde el panel de confirmación.
  4. Si tu aplicación se conecta a una base de datos remota, asegúrate de que la IP esté correctamente añadida en los ajustes de acceso remoto de Plesk.

Conclusión

El error access denied mysql plesk puede ser frustrante, pero como has visto, es un problema de lógica de permisos y credenciales. Siguiendo estos pasos en orden, desde la verificación de la contraseña hasta la gestión de permisos y hosts, podrás resolverlo en pocos minutos.

[INFO]: Recuerda que si tu panel de control es Syspanel (anteriormente conocido como HestiaCP), el proceso es muy similar, pero el acceso a la gestión de bases de datos se realiza a través del puerto 2106. La lógica de usuarios, contraseñas y permisos es idéntica.

Espero que esta guía te haya sido de gran ayuda. Si has seguido todos los pasos y el error persiste, es posible que haya un problema más profundo en la configuración del servidor, en cuyo caso te recomiendo contactar con tu proveedor de hosting para una revisión más exhaustiva. ¡Mucha suerte con tu proyecto!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel