¿Por qué aparece un error Access denied cuando intento conectarme a mi clúster de base de datos de Amazon Aurora?

6 minutos de lectura
0

Quiero autenticarme en mi clúster de Amazon Aurora MySQL-Compatible Edition DB, pero aparece el error «Access denied».

Descripción corta

Para autenticarse en su clúster de base de datos compatible con Aurora MySQL, puede usar una de estas opciones:

El error «Acceso denegado» suele producirse porque ha introducido un nombre de usuario o contraseña incorrectos. Consulte las siguientes causas de este error:

  • El nombre de usuario o la contraseña que ha introducido no son válidos.
  • La conexión ha intentado usar el host incorrecto.
  • El usuario no existe.
  • El usuario existe, pero el host del cliente no tiene permiso para conectarse.
  • Se requiere SSL, pero el cliente no usa SSL.
  • Bash está convirtiendo los caracteres especiales de la contraseña.
  • La autenticación de IAM está desactivada.
  • Los permisos de rol de IAM son insuficientes cuando se usa la autenticación de IAM.
  • Hay una cadena de conexión incorrecta.
  • Se utilizan credenciales de autenticación incorrectas para conectarse al Amazon RDS Proxy. Esto se aplica cuando se usa el modo de nombre de usuario/contraseña nativo.
  • El usuario o rol de AWS Identity and Access Management (IAM) que usa el cliente no está autorizado a usar el proxy de Amazon RDS para conectarse. Esto se aplica cuando se utiliza la autenticación de base de datos de IAM.

Para obtener más información sobre este error, consulte la documentación de MySQL para Access denied.

Resolución

Compruebe que la instancia de base de datos acepta conexiones

Confirme que su instancia de base de datos se encuentra actualmente en el estado AVAILABLE. Para obtener más información, consulte la documentación de Amazon Relational Database Service (Amazon RDS) y Aurora para conocer el estado de las instancias de base de datos. Además, consulte ¿Cómo puedo solucionar los problemas de conexión con la instancia de base de datos de Amazon RDS?

Solucionar problemas de conexiones que utilizan credenciales de base de datos

Contraseña incorrecta

Asegúrese de introducir el nombre de usuario y la contraseña correctos cuando intente conectarse a la base de datos. No utilice caracteres especiales en la contraseña. Para obtener más información, consulte ¿Cómo puedo restablecer la contraseña del usuario administrador de mi instancia de base de datos de Amazon RDS?

Nombre de usuario incorrecto

Para comprobar si el usuario existe, ejecute la siguiente consulta:

mysql> SELECT user FROM mysql.user WHERE User='username';

Si el usuario no existe, cree uno nuevo. Para crear un usuario nuevo, ejecute las siguientes consultas:

mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'new-password-here';
mysql> FLUSH
        PRIVILEGES;

Para obtener más información, consulte Privilegios de la cuenta de usuario maestro.

Conexión desde el host incorrecto

Cuando intente conectarse a la instancia de base de datos, asegúrese de especificar el host y el puerto correctos. Para comprobar el nombre de host y el puerto de Amazon RDS, consulte la página Instancia de la consola de Amazon RDS. Para obtener más información, consulte Conexión a un clúster de base de datos de Amazon Aurora.

El usuario existe pero el host del cliente no tiene permiso para que el cliente se conecte

Para comprobar desde qué usuario/host MySQL permite las conexiones, ejecute la siguiente consulta:

mysql> SELECT host, user FROM mysql.user WHERE User='username';

Para crear un usuario que tenga la IP correcta del cliente host o que tenga el comodín% para que coincida con cualquier dirección IP posible, ejecute la siguiente consulta:

mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'new-password-here';

Se requiere SSL, pero el cliente no usa SSL

Para comprobar si hay usuarios a los que se les ha aplicado SSL, ejecute la siguiente consulta en su instancia de base de datos:

mysql> SELECT * FROM mysql.user WHERE ssl_type <> '';

Si el usuario tiene SSL obligatorio, entonces debe usar SSL para conectarse. Para obtener más información, consulte Uso de SSL/TLS para cifrar una conexión a un clúster de bases de datos.

Usuarios duplicados

Para comprobar si hay usuarios que tienen el mismo nombre de usuario, ejecute la siguiente consulta:

mysql> SELECT host, user FROM mysql.user WHERE User='username';

Para resolver este problema, utilice otro usuario para iniciar sesión o un usuario que tenga permisos para ELIMINAR a otros usuarios. Una vez eliminado el usuario secundario, el primer usuario puede conectarse normalmente.

Para obtener más información, consulte ¿Cómo creo otro usuario administrador para mi instancia de base de datos de Amazon RDS que ejecuta MySQL?

Bash convierte los caracteres especiales de la contraseña

Para evitar que Bash interprete caracteres especiales, escribe la contraseña entre comillas simples.

Un paquete de conexión no contiene la información correcta

El paquete de conexión tarda más de los segundos establecidos en connect_timeout en obtener un paquete de conexión. Para obtener más información, consulte connect_timeout en el sitio web de MySQL. Puede ajustar el valor de este parámetro de base de datos para comprender mejor las consultas y la carga de trabajo.

El valor de la variable max_allowed_packet es demasiado pequeño o las consultas requieren más memoria de la que ha asignado a la instancia de base de datos

El valor max_allowed_packet es pequeño de forma predeterminada. Para obtener más información, consulte max_allowed_packet en el sitio web de MySQL. Esto permite que el valor capture paquetes grandes e incorrectos. Si usa columnas BLOB grandes o cadenas largas, aumente el valor de max_allowed_packet. Para obtener más información, consulte Prácticas recomendadas para configurar los parámetros de Amazon RDS para MySQL.

Solucionar problemas de conexiones que utilizan la autenticación de IAM

Para conectarse, consulte ¿Cómo puedo permitir que los usuarios se autentiquen en una instancia de base de datos de MySQL de Amazon RDS con sus credenciales de IAM?

Si no puede conectarse, consulte ¿Por qué aparece un error de acceso denegado cuando intento conectarme a Amazon RDS para MySQL utilizando la autenticación de IAM?

Solucionar problemas de conexiones que utilizan Amazon RDS Proxy

Para conectarse, consulte How do I use Amazon RDS Proxy to connect to my Amazon RDS for MySQL DB instance or Aurora MySQL-Compatible DB cluster?

Si no puede conectarse, consulte ¿Por qué no puedo conectarme a mi instancia de base de datos de Amazon RDS o Amazon Aurora a través de RDS Proxy?

Información relacionada

Conexión a un clúster de base de datos Amazon Aurora MySQL

Autenticación de bases de datos de IAM para MariaDB, MySQL y PostgreSQL

Trabajar con grupos de parámetros

¿Cómo puedo solucionar los problemas de conectividad a una instancia de base de datos de Amazon RDS que usa una subred pública o privada de una VPC?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años