Quiero conectarme a mi clúster de base de datos compatible con MySQL de Amazon Aurora, pero aparece el error «Access denied».
Descripción corta
Para conectarse a un clúster de base de datos compatible con MySQL de Aurora, utilice una de las siguientes opciones:
El error «Access denied» suele producirse cuando se introduce una contraseña o nombre de usuario incorrectos. Para obtener más información, consulte Access denied en el sitio web de MySQL.
Resolución
Compruebe que la instancia de base de datos de Aurora acepta conexiones
Confirme que la instancia de base de datos tenga el estado DISPONIBLE. Para obtener más información, consulte Visualización del estado de la instancia de base de datos de Amazon RDS y Visualización del estado de la instancia de base de datos en un clúster de Aurora. 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 la contraseña correcta cuando se conecte 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
Asegúrese de introducir el nombre de usuario correcto cuando se conecte a la base de datos.
Para comprobar si el usuario existe, haga la siguiente consulta:
mysql> SELECT user FROM mysql.user WHERE User='username';
Si el usuario no existe, haga las siguientes consultas para crear un usuario nuevo:
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.
El usuario existe, pero el host del cliente no tiene permiso para conectarse
Para comprobar desde qué usuario/host MySQL permite las conexiones, haga la siguiente consulta:
mysql> SELECT host, user FROM mysql.user WHERE User='username';
Para crear un usuario con la dirección IP del cliente host correcta o el símbolo comodín (%) para que coincida con cualquier dirección IP, haga la siguiente consulta:
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'new-password-here';
Se requiere SSL, pero el cliente no usa SSL
Para comprobar si un usuario aplicó el uso de SSL, haga la siguiente consulta en su instancia de base de datos:
mysql> SELECT * FROM mysql.user WHERE ssl_type <> '';
Si se ha aplicado el uso de SSL, 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, haga la siguiente consulta:
mysql> SELECT host, user FROM mysql.user WHERE User='username';
Para resolver los problemas de usuarios duplicados, inicie sesión con un usuario que tenga permisos para ELIMINAR otros usuarios. Después de eliminar el usuario secundario, el primer usuario puede conectarse.
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
Escriba su contraseña entre comillas simples para que Bash no pueda convertir los caracteres especiales de la contraseña.
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 adaptarlo a sus consultas y 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
De forma predeterminada, el valor máximo de max_allowed_packet es de 64 MB. Para obtener más información, consulte max_allowed_packet en el sitio web de MySQL.
Si usa columnas BLOB grandes o cadenas largas, aumente el valor de max_allowed_packet. Para obtener más información, consulte Best practices for configuring parameters for Amazon RDS for MySQL, part 3: Parameters related to security, operational manageability, and connectivity timeout.
Solución de 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?
Solución de problemas de conexiones que utilizan Amazon RDS Proxy
Para conectarse a su clúster de base de datos, 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
Grupos de parámetros para Amazon RDS
¿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?