Pourquoi le message d'erreur Accès refusé s'affiche-t-il lorsque j'essaie de me connecter à mon cluster de base de données Amazon Aurora ?

Lecture de 6 minute(s)
0

Je souhaite m'authentifier auprès de mon cluster de base de données compatible avec Amazon Aurora MySQL, mais je reçois un message d'erreur « Accès refusé ».

Brève description

Pour vous authentifier auprès de votre cluster de base de données compatible Aurora MySQL, vous pouvez utiliser l'une des options suivantes :

L'erreur « Accès refusé » se produit généralement parce que vous avez saisi un nom d'utilisateur ou un mot de passe incorrect. Mais cette erreur a d'autres causes, notamment :

  • Le nom d'utilisateur ou le mot de passe que vous avez saisi n'est pas valide.
  • Vous essayez de vous connecter en utilisant le mauvais hôte.
  • L'utilisateur n'existe pas.
  • L'utilisateur existe, mais l'hôte client n'est pas autorisé à se connecter.
  • Le protocole SSL est requis, mais le client ne l'utilise pas.
  • Les caractères spéciaux du mot de passe sont convertis par Bash.
  • L'authentification IAM est désactivée.
  • Les autorisations de rôle IAM sont insuffisantes lors de l'utilisation de l'authentification IAM.
  • La chaîne de connexion est incorrecte.
  • Des informations d'authentification incorrectes sont utilisées pour se connecter au proxy Amazon RDS. Cela s'applique lorsque le mode nom d'utilisateur/mot de passe natif est utilisé.
  • L'utilisateur ou le rôle AWS Identity and Access Management (IAM) associé au client n'est pas autorisé à se connecter au proxy Amazon RDS. Cela s'applique lorsque l'authentification IAM DB est utilisée.

Pour plus d'informations concernant cette erreur, consultez la documentation MySQL pour Access denied (accès refusé).

Solution

Vérifiez que l'instance de base de données accepte les connexions

Confirmez que votre instance de base de données est actuellement dans l'état DISPONIBLE. Pour plus d'informations, consultez la documentation Amazon Relational Database Service (Amazon RDS) et Aurora pour connaître l'état des instances de base de données. Voir également Comment résoudre les problèmes de connexion à une instance de base de données Amazon RDS ?

Résoudre les problèmes de connexions utilisant des informations d'identification de base de données

Mot de passe incorrect

Assurez-vous de saisir le nom d'utilisateur et le mot de passe corrects lorsque vous essayez de vous connecter à la base de données. N'utilisez pas de caractères spéciaux dans le mot de passe. Pour plus d'informations, consultez Comment réinitialiser le mot de passe utilisateur primaire pour mon instance de base de données Amazon RDS ?

Nom d'utilisateur incorrect

Vérifiez si l'utilisateur existe :

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

Si l'utilisateur n'existe pas, créez-en un nouveau :

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

Pour plus d'informations, consultez Privilèges du compte utilisateur primaire.

Connexion depuis le mauvais hôte

Lorsque vous essayez de vous connecter à votre instance de base de données, veillez à spécifier l'hôte (avec l'indicateur -h) et le port corrects. Vérifiez votre nom d'hôte et votre port Amazon RDS en consultant la page Instance sur la console Amazon RDS. Pour plus d'informations, consultez Connexion à un cluster de base de données Amazon Aurora.

L'utilisateur existe mais l'hôte client n'est pas autorisé à se connecter

Vérifiez quel utilisateur/hôte MySQL autorise les connexions depuis :

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

Créez ensuite un utilisateur avec l'hôte correct (IP client) ou avec le % (caractère générique) correspondant à n'importe quelle adresse IP possible :

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

Le protocole SSL est requis mais le client ne l'utilise pas

Vérifiez si certains utilisateurs ont appliqué le protocole SSL en exécutant la requête suivante sur votre instance de base de données :

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

Si le protocole SSL est appliqué à l'utilisateur, vous devez vous connecter via SSL. Pour plus d'informations, consultez la section Utilisation de SSL/TLS pour crypter une connexion à un cluster de bases de données.

Utilisateurs dupliqués

Vérifiez s'il existe des utilisateurs portant le même nom d'utilisateur :

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

Pour résoudre ce problème, connectez-vous à l'aide d'un autre utilisateur (double utilisateur principal) ou d'un utilisateur autorisé à SUPPRIMER d'autres utilisateurs. Une fois l'utilisateur secondaire supprimé, le premier utilisateur peut se connecter normalement.

Pour plus d'informations, consultez Comment créer un autre utilisateur principal pour mon instance de base de données Amazon RDS qui exécute MySQL ?

Les caractères spéciaux du mot de passe sont convertis par Bash

Empêchez Bash d'interpréter les caractères spéciaux en mettant le mot de passe entre guillemets simples.

Un paquet de connexion ne contient pas les bonnes informations

L'obtention d'un paquet de connexion prend plus de connect_timeout secondes. Après en avoir discuté avec votre administrateur de base de données, vous pouvez ajuster la valeur de ce paramètre de base de données afin de mieux comprendre vos requêtes et votre charge de travail.

La valeur de la variable max_allowed_packet est trop petite ou les requêtes nécessitent plus de mémoire que celle que vous avez allouée à l'instance de base de données

La valeur max_allowed_packet est petite par défaut. Cela permet à la valeur de capturer des paquets volumineux et éventuellement incorrects. Si vous utilisez de grandes colonnes BLOB ou de longues chaînes, augmentez la valeur de max_allowed_packet. Pour plus d'informations, consultez la section Bonnes pratiques pour la configuration des paramètres pour Amazon RDS for MySQL.

Résoudre les problèmes de connexions utilisant l'authentification IAM

Pour se connecter, voir Comment autoriser les utilisateurs à s'authentifier sur une instance de base de données MySQL Amazon RDS à l'aide de leurs informations d'identification IAM ?

Si ne pouvez pas vous connecter, consultez Pourquoi est-ce que je reçois une erreur Access Denied (Accès refusé) lorsque j'essaie de me connecter à Amazon RDS for MySQL à l'aide de l'authentification IAM ?

Résoudre les problèmes de connexions utilisant le proxy Amazon RDS

Pour vous connecter, consultez Comment me connecter à mon instance de base de données Amazon RDS MySQL ou mon cluster de bases de données Aurora MySQL à l'aide d'Amazon RDS Proxy ?

Si vous ne parvenez pas à vous connecter, consultez Pourquoi ne puis-je pas me connecter à mon instance de base de données Amazon RDS ou Amazon Aurora à l'aide du proxy RDS ?


Informations connexes

Se connecter à un cluster de base de données MySQL Amazon Aurora.

Authentification de base de données IAM pour MariaDB, MySQL, et PostgreSQL

Utilisation de groupes de paramètres

Comment résoudre les problèmes de connectivité à une instance Amazon RDS qui utilise un sous-réseau public ou privé d'un VPC ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an