Access denied for user ''@'localhost' (using password: NO)

Alguém pode me ajudar?? To tentando conectar meu banco a essa classe, mas da esse erro.
Já tentei sem a senha também, mas da o mesmo erro.
Já busquei no google e em outros fóruns, mas não consegui resolver, quero muito aprender.

Minha classe de Fabricar conexões:
package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

public Connection getConnection() {
	try {
		return DriverManager.getConnection(
				"jdbc:mysql://localhost/MySQL80", "root", "Dooh@8531");
	} catch (SQLException e) {
		throw new RuntimeException(e);
	}
}

}

meu workbench

Eu costumo separar as coisas…

public class ConectaBancoDeDados {
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost/PetShop";
    private static final String USUARIO = "foo";
    private static final String SENHA = "foor";
   
    public static Connection getConexao() throws SQLException{
        try{
            Class.forName(DRIVER);
                return DriverManager.getConnection(URL, USUARIO, SENHA);
        }catch(ClassNotFoundException cnfe){
            throw new SQLDataException(cnfe.getMessage());
        }
    }
}

No caso você está passando a senha Dooh@8531, mas a mensagem diz que não há senha cadastrada para o banco.

1 curtida

mas eu tentei sem senha também, e me retorna o mesmo exception

O nome do seu banco é MySQL80?

acho que sim. Olha esse print do workbench que eu deixei ai por favor

Se vc não lembra a senha, desinstale o mysql, reinstale e anote a senha.
Anote o nome de usuário pois localhost normalmente é a url do banco de dados e não o nome de um usuário.

1 curtida

consegui resolver.
1º o nome do banco tava errado, 2º eu não estava compilando a classe main, 3º me apareceu um erro de fuso horário, entçao deixei minha String assim “jdbc:mysql://localhost:3306/fj21?useTimezone=true&serverTimezone=America/Sao_Paulo”, “root”, “root” e funcionou

1 curtida

marque o tópico como resolvido então

1 curtida