5
respostas

Erro ao executar o Teste

Como resolver este erro???? Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

5 respostas

Olá Silmara, tudo bem com você?

Esse erro acontece quando a senha utilizada para acessar o banco de dados está incorreta e não é feito o acesso.

Veja no seu persistence.xml a senha que está definida:

<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="" />        

Caso não seja a mesma do seu banco basta trocar no value, agora caso esteja correta ai eu te indicaria entrar no banco de dados e criar um novo usuário e definir uma senha, ou redefinir a senha do root :)

Abraços e Bons Estudos!

poderia me passar como redefinir gentileza, não conseguir achar um tutorial que resolvesse.

Olá Silmara,

Normalmente quando eu preciso redefinir a senha do banco de dados eu faço da seguinte maneira, você pode testar?

  • Entre no banco de dados pelo terminal
  • Utilize o seguinte comando:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'novasenha';
  • Após isso de um FLUSH PRIVILEGES;

E para checar se está tudo funcionando corretamente, basta sair do banco de dados e entrar novamente com a nova senha :)

Caso você pretenda criar um novo usuário para não alterar a senha do root basta seguir os mesmos passos:

  • Entrar no banco de dados pelo terminal
  • CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'senha';
  • GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost';
  • FLUSH PRIVILEGES;

E as vezes ainda é possível ter o mesmo erro da senha, ai basta fazer o primeiro passo trocando o root pelo nome do novo usuário :)

Abraços e Bons Estudos!

agora dá este erro:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named alura

Olá Silmara, bom dia :)

Provavelmente em seu persistence.xmltemos:

    <persistence-unit name="contas">

E na hora de você criar seu EntityManagerFactory você fez:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("alura");

Basta mudar o nome para: createEntityManagerFactory("contas"); que irá funcionar corretamente :)

Abraços e Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software