Quero me conectar ao meu cluster de banco de dados compatível com o Amazon Aurora MySQL, mas recebo um erro de “Acesso negado”.
Breve descrição
Para se conectar a um cluster de banco de dados compatível com o Aurora MySQL, use uma das seguintes opções:
O erro “Acesso negado” geralmente ocorre quando você insere um nome de usuário ou senha incorretos. Para obter mais informações, consulte Acesso negado no site do MySQL.
Resolução
Verifique se a instância de banco de dados do Aurora aceita conexões
Confirme se sua instância de banco de dados está no estado DISPONÍVEL. Para obter mais informações, consulte Visualizando o status da instância de banco de dados do Amazon RDS e Visualizando o status da instância de banco de dados em um cluster do Aurora. Além disso, consulte Como resolvo problemas de conexão com a minha instância do banco de dados do Amazon RDS?
Solucionar problemas de conexões que usam credenciais de banco de dados
Senha incorreta
Certifique-se de digitar a senha correta ao se conectar ao banco de dados. Não use caracteres especiais na senha. Para obter mais informações, consulte Como faço para redefinir a senha de usuário administrador da minha instância de banco de dados Amazon RDS?
Nome de usuário incorreto
Certifique-se de inserir o nome de usuário correto ao se conectar ao banco de dados.
Para verificar se o usuário existe, execute a seguinte consulta:
mysql> SELECT user FROM mysql.user WHERE User='username';
Se o usuário não existir, execute as seguintes consultas para criar um novo usuário:
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'new-password-here';
mysql> FLUSH PRIVILEGES;
Para obter mais informações, consulte Privilégios da conta de usuário principal.
O usuário existe, mas o host do cliente não tem permissão para se conectar
Para verificar de qual usuário ou host o MySQL permite conexões, execute a seguinte consulta:
mysql> SELECT host, user FROM mysql.user WHERE User='username';
Para criar um usuário com o endereço IP correto do cliente host ou o símbolo curinga (%) que corresponda a qualquer endereço IP, execute a seguinte consulta:
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'new-password-here';
O SSL é obrigatório, mas o cliente não usa SSL
Para verificar se um usuário aplicou o SSL, execute a seguinte consulta na sua instância de banco de dados:
mysql> SELECT * FROM mysql.user WHERE ssl_type <> '';
Se SSL estiver aplicado, você deverá usar SSL para se conectar. Para obter mais informações, consulte Como usar SSL/TLS para criptografar uma conexão com um cluster de banco de dados.
Usuários duplicados
Para verificar se há usuários com o mesmo nome de usuário, execute a seguinte consulta:
mysql> SELECT host, user FROM mysql.user WHERE User='username';
Para resolver usuários duplicados, faça login com um usuário que tenha permissão para DESCARTAR outros usuários. Depois de eliminar o usuário secundário, o primeiro usuário pode se conectar.
Para obter mais informações, consulte Como criar outro usuário administrador para minha instância de banco de dados do Amazon RDS que executa o MySQL?
O Bash converte caracteres especiais na senha
Coloque sua senha entre aspas simples para que o Bash não converta caracteres especiais na senha.
Um pacote de conexão não contém as informações corretas
O pacote de conexão leva mais de connect_timeout segundos para obter um pacote de conexão. Para obter mais informações, consulte connect_timeout no site do MySQL. Você pode ajustar o valor desse parâmetro de banco de dados para se adequar a suas consultas e o workload.
O valor máximo da variável max_allowed_packet é muito pequeno ou as consultas exigem mais memória do que você alocou para a instância de banco de dados
Por padrão, o valor max_allowed_packet é de 64 MB. Para obter mais informações, consulte max_allowed_packet no site do MySQL.
Se você usar colunas BLOB grandes ou strings longas, aumente o valor de max_allowed_packet. Para obter mais informações, consulte Práticas recomendadas para configurar parâmetros para o Amazon RDS para MySQL, parte 3: Parâmetros relacionados à segurança, capacidade de gerenciamento operacional e tempo limite de conectividade.
Solucionar problemas de conexões que usam autenticação do IAM
Para se conectar, consulte Como permitir que os usuários se autentiquem em uma instância de banco de dados Amazon RDS para MySQL usando suas credenciais do IAM?
Se você não conseguir se conectar, consulte Por que estou recebendo um erro de acesso negado quando tento me conectar ao Amazon RDS para MySQL usando a autenticação do IAM?
Solucionar problemas de conexões que usam o Amazon RDS Proxy
Para se conectar ao seu cluster de banco de dados, consulte Como faço para usar o Amazon RDS Proxy para me conectar à minha instância de banco de dados do Amazon RDS para MySQL ou cluster de banco de dados compatível com o Aurora MySQL?
Se você não conseguir se conectar ao seu cluster de banco de dados, consulte Por que não consigo me conectar a uma instância de banco de dados do Amazon Aurora ou Amazon RDS usando o RDS Proxy?
Informações relacionadas
Como conectar-se a um cluster de bancos de dados Amazon Aurora MySQL
Autenticação do banco de dados do IAM para MariaDB, MySQL e PostgreSQL
Grupos de parâmetros para o Amazon RDS
Como posso solucionar problemas de conectividade a uma instância de banco de dados do Amazon RDS que usa uma sub-rede pública ou privada de uma VPC?