Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

acesso negados de root e localhost - mysql

Olá!

Ao tentar me conectar ao banco de dados, aparece o seguinte erro:

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: NO)
{
  code: 'ER_ACCESS_DENIED_ERROR',
  errno: 1045,
  sqlMessage: "Access denied for user 'root'@'localhost' (using password: NO)",
  sqlState: '28000',
  fatal: true
}

Estou utilizando a mesma versão do MySQL que a instrutora do curso. Alguém poderia me ajudar, por favor?

8 respostas

Oi, Tatiani, tudo bem?

Qual a senha que você definiu para o banco de dados instalado na máquina? Por exemplo, se a sua senha for: root, no método da conexão, o valor para password deverá estar de acordo:

const conexao = mysql.createConnection({
    host: 'localhost',
    port: 3306,
    user: 'root',
    password: 'root',
    database: 'agenda-petshop'
})

Você fez dessa forma?

Olá, Laís! Tudo bem sim e contigo?

Então, está exatamente igual, a diferença é só a porta que configurei no Workbench:

const conexao = mysql.createConnection({
    host: 'localhost',
    port: 3309,
    user: 'root',
    senha: 'admin',
    database: 'db-agenda-petshop'
})

Oi, Tatiani!

Acredito que algo ainda esteja em inconsistência, pois o erro fala de algo não compatível entre o seu acesso que você tenta fazer no código com os dados de configuração do mysql da sua máquina. Conseguiu acessar?

Qual o sistema operacional que você está utilizando ? eu tive esse problema com linux e consegui resolver

Olá, Gabriel! Estou utilizando o Windows 10 Pro.

solução!
const conexao = mysql.createConnection({
    host: 'localhost',
    port: 3309,
    user: 'root',
    password: 'admin',
    database: 'db-agenda-petshop',
    insecureAuth : true
})

Tenta colocar esse ultimo parâmetro, caso mesmo assim não dê certo recomendo criar um novo usuário no seu banco com as permissões necessárias e usar esse novo usuário :)

Gabriel, funcionou como a sua sugestão. Muito obrigada pela ajuda!

Pesquisei para entender melhor e vou colocar aqui uma explicação simples para quem se deparar com o mesmo erro:

insecureAuth - Allow connecting to MySQL instances that ask for the old (insecure) authentication method.

Fonte: https://www.npmjs.com/package/mysql

Showww fico feliz em ter ajudado !! :)