3
respostas

Error: Access denied for user 'root'@'localhost'

Olá. Estou tendo um erro na conexão com o mySQL. Eu já tive de substituir a instalação para o mysql2, como algumas recomendações aqui no fórum.

Erro:


Error: Access denied for user 'root'@'localhost' (using password: YES)
    at Packet.asError (C:\Users\cassi\Desktop\Estudos Alura\Cursos Alura\Rest com NodeJS API com Express e MySQL\node_modules\mysql2\lib\packets\packet.js:722:17)
    at ClientHandshake.execute (C:\Users\cassi\Desktop\Estudos Alura\Cursos Alura\Rest com NodeJS API com Express e MySQL\node_modules\mysql2\lib\commands\command.js:28:26)
    at Connection.handlePacket (C:\Users\cassi\Desktop\Estudos Alura\Cursos Alura\Rest com NodeJS API com Express e MySQL\node_modules\mysql2\lib\connection.js:456:32)
    at PacketParser.onPacket (C:\Users\cassi\Desktop\Estudos Alura\Cursos Alura\Rest com NodeJS API com Express e MySQL\node_modules\mysql2\lib\connection.js:85:12)
    at PacketParser.executeStart (C:\Users\cassi\Desktop\Estudos Alura\Cursos Alura\Rest com NodeJS API com Express e MySQL\node_modules\mysql2\lib\packet_parser.js:75:16)
    at Socket.<anonymous> (C:\Users\cassi\Desktop\Estudos Alura\Cursos Alura\Rest com NodeJS API com Express e MySQL\node_modules\mysql2\lib\connection.js:92:25)
    at Socket.emit (events.js:375:28)
    at addChunk (internal/streams/readable.js:290:12)
    at readableAddChunk (internal/streams/readable.js:265:9)
    at Socket.Readable.push (internal/streams/readable.js:204:10) {
  code: 'ER_ACCESS_DENIED_ERROR',
  errno: 1045,
  sqlState: '28000',
  sqlMessage: "Access denied for user 'root'@'localhost' (using password: YES)",
  sql: undefined
conexao.js:
const mysql = require('mysql2')

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

module.exports = conexao
index.js:
const customExpress = require('./config/customExpress')
const conexao = require('./infraestrutura/conexao')

conexao.connect(erro => {
    if(erro) {
        console.log(erro)
    } else {
        const app = customExpress()

        app.listen(3000, () => console.log('servidor rodando na porta 3000'))

        console.log('oi')
    }
})
3 respostas

Boa noite,

Conseguem me ajudar? :)

Bom dia Cassiano, tudo certo?

Esse erro diz que o acesso ao banco de dados foi negado, provavelmente a senha do usuário root está incorreta.

Problemas assim de ambiente são bem difíceis de se descobrir a causa e consertar de forma rápida. Nos ajudaria caso você desse mais algumas informações como qual seu sistema operacional e qual versão do MySQL está instalada. Aqui está como fazer isso e algumas soluções mais gerais que você pode tentar fazer no meio tempo:

A primeira coisa que você pode tentar fazer é jogar o seguinte comando no terminal:

mysql -u root

Caso isso te leve à um terminal funcional do MySQL, significa que o seu usuário root não tem senha. À partir desse ponto você pode procurar um guia específico de como trocar a senha na versão do programa que você tem instalado. Para descobrir essa versão é possível utilizar o comando no terminal

mysql -V

Outra tentativa que você pode fazer é testar outras senhas padrão que são comuns dentro do seu arquivo conexao.js:

Senhas como:

  • root
  • 1234
  • Deixar o campo vazio

E uma alternativa que sempre existe é desinstalar e reinstalar o MySQL e tentar trocar essa senha durante a instalação.

Estou no aguardo da resposta e espero ter ajudado. Bons estudos!

João, boa noite!

Eu na verdade descobri que estava escrevendo a porta errada e a senha também.

Corrigindo esses dois fatores não tive mais o erro.

Obrigado pela ajuda!