Estou usando MySQL v8.0.35 com Django e python. Um site é usado para acessar o banco de dados com o site e o banco de dados hospedados na AWS. Quando o site tenta acessar o banco de dados de alguma forma, ocorre este erro:
OperationalError: (1045, "Access denied for user '<user>'@'*****' (using password: NO)")
O principal problema é que não entendo por que a senha não está sendo usada pelo site, apesar de estar incluída na configuração do banco de dados no meu arquivo django settings.py.
Para mim, isso é estranho porque, enquanto faço o ssh na instância do site, consigo executar este comando:
mysqladmin -h <endpoint> -u <user> -p version
é o mesmo acima e quando sou solicitado a inserir minha senha, ela é executada perfeitamente.
Também consigo fazer login no banco de dados executando este comando durante o ssh:
mysql -h <endpoint> -u <user> -p
Nesse ponto, insiro a mesma senha e posso entrar. Quando verifico as permissões do meu usuário, isso aparece
[
No arquivo de configurações que o Django está usando para obter qualquer informação do banco de dados, é isso que eu tenho:
DATABASES={
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'zombeewatch', # Or path to database file if using sqlite3.
'USER': '<user>', # Not used with sqlite3.
'PASSWORD': '<password>', # Not used with sqlite3.
'HOST': '<endpoint>', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
}
}
Também posso usar python manage.py
sem problemas, então o programa parece ser capaz de obter o banco de dados, o nome de usuário e a senha do meu arquivo de configurações perfeitamente.
Para ser honesto, não tenho ideia de para onde ir a partir daqui. Acho que o principal problema depende do motivo pelo qual o site está tentando fazer login no banco de dados sem uma senha, quando uma é fornecida. Eu sei que há algumas perguntas com o mesmo erro, mas o contexto por trás delas parece ser muito diferente. Se eu puder fornecer mais informações, por favor me avise!
**Observe que confirmei que a senha que estou usando no arquivo é a correta. No mínimo, é o mesmo que estou copiando e colando quando é solicitada uma senha para os comandos mysql e mysqladmin.
É um pouco envergonhado de dizer, mas o problema foi resolvido desligando e ligando o site novamente. Peço desculpas porque percebo que isso não é muito útil.
Como não costumo trabalhar com sites, me acostumei com as alterações sendo aplicadas sem reiniciar o site. Portanto, quando fiz anteriormente uma alteração no campo de senha que não funcionou, não reiniciei o site após o fato.