9
respostas

mysql -u root (Acesso negado)

Olá,

Estou encontrando um problema pra configurar meu MySQL, para o curso JPA e Hibernate (aula 2). Eu instalei o MySQL e fiz o path (também adicionei o connector que foi disponibilizado no próprio projeto da aula (mysql-connector-java-5.1.24-bin).

Ao tentar rodar o comado "mysql -u root" no Prompt, a mensagem que segue é: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Alguém consegue me ajudar a sair dessa? Muito obrigado!

9 respostas

Rodrigo, boa tarde!

Tente rodar como admin colocando o sudo na frente. Ficando assim:

sudo mysql -u root -p SUA-SENHA AQUI

Espero ter ajudado e bon estudos!

Olá Felipe,

Infelizmente o Prompt não reconheceu o comando "sudo", nem como administrador, nem com o caminho "normal".

Rodrigo, boa tarde!

Você usa windows né? nesse caso rode o mesmo comando mas sem o sudo na frente.

Espero ter ajudado e bons estudos!

Bom, vamos lá. Aparentemente eu consegui acessar o MySQL e criar o database "financas". Contudo, ao tentar rodar as classes testes, todas dão a seguinte exception:

Exception in thread "main" java.lang.ExceptionInInitializerError at br.com.alura.financas.util.PopulaConta.main(PopulaConta.java:11)

Apontando sempre pra linha que cria a entidade

EntityManager em = new JPAUtil().getEntityManager();

Estou tentando achar algo diferente no arquivo do Persistence, mas por enquanto nada.

A programação é um grande cobertor curto =/

Muito obrigado pela ajuda até aqui!

Olá Rodrigo!

Poderia mandar aqui o código da classe PopulaConta e o código da classe que você usa para configurar a conexão com o Banco, por favor?

Olá Guilherme, seguem abaixo os códigos que estão dando problema de exceção:

Muito obrigado mais uma vez!

insira seu código aqui
package br.com.alura.financas.teste;

import javax.persistence.EntityManager;

import br.com.alura.financas.modelo.Conta;
import br.com.alura.financas.util.JPAUtil;

public class TesteConta {

    public static void main(String[] args) {

        Conta conta = new Conta();
        conta.setTitular("Leonardo");
        conta.setAgencia("123");
        conta.setBanco("Caixa Econômica");
        conta.setNumero("456");


        EntityManager em = new JPAUtil().getEntityManager();

        em.getTransaction().begin();
        em.persist(conta);
        em.getTransaction().commit();

        em.close();


    }

}

```package br.com.alura.financas.util;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JPAUtil {

    private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("financas");

    public EntityManager getEntityManager() {
        return emf.createEntityManager();    
    }


}

package br.com.alura.financas.util;

import javax.persistence.EntityManager;

import br.com.alura.financas.modelo.Conta;

public class PopulaConta {

public static void main(String[] args) {

    EntityManager manager = new JPAUtil().getEntityManager();

    manager.getTransaction().begin();

    Conta conta1 = new Conta();
    Conta conta2 = new Conta();
    Conta conta3 = new Conta();
    Conta conta4 = new Conta();
    Conta conta5 = new Conta();

    conta1.setBanco("001 - BANCO DO BRASIL");
    conta1.setNumero("16987-8");
    conta1.setAgencia("6543");
    conta1.setTitular("Maria dos Santos");

    conta2.setBanco("237 - BANCO BRADESCO");
    conta2.setNumero("86759-1");
    conta2.setAgencia("1745");
    conta2.setTitular("Paulo Roberto Souza");

    conta3.setBanco("341 - BANCO ITAU UNIBANCO");
    conta3.setNumero("46346-3");
    conta3.setAgencia("4606");
    conta3.setTitular("Antonio Duraes");

    conta4.setBanco("033 - BANCO SANTANDER");
    conta4.setNumero("12345-6");
    conta4.setAgencia("9876");
    conta4.setTitular("Leandra Marques");

    conta5.setBanco("104 - CAIXA ECONOMICA FEDERAL");
    conta5.setNumero("98654-3");
    conta5.setAgencia("1234");
    conta5.setTitular("Alexandre Duarte");

    // persistindo as contas
    manager.persist(conta1);
    manager.persist(conta2);
    manager.persist(conta3);
    manager.persist(conta4);
    manager.persist(conta5);

    manager.getTransaction().commit();

    manager.close();

}

}

`

Preciso também do código que você fez para configurar o banco. Provavelmente um XML, onde você definiu seu EntityManager.

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <!-- unidade de persistencia com o nome financas -->
    <persistence-unit name="financas">

        <!-- Implementação do JPA, no nosso caso Hibernate -->
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <!-- Aqui são listadas todas as entidades -->
        <class>br.com.alura.financas.modelo.Conta</class>
        <class>br.com.alura.financas.modelo.Movimentacao</class>

        <properties>    
            <!-- Propriedades JDBC -->
            <property name="javax.persistence.jdbc.driver" 
                value="com.mysql.jdbc.Driver" />

            <property name="javax.persistence.jdbc.url" 
                value="jdbc:mysql://localhost/financas" />

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

            <!-- Configurações específicas do Hibernate -->
            <property name="hibernate.dialect" 
                value="org.hibernate.dialect.MySQL5InnoDBDialect" />

            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>

Caro, esse é o arquivo do Persistence que eu peguei do próprio curso.