É meu primeiro tópico aqui na Alura, mas como quebrei muito a cabeça para resolver esses dois probleminhas acho justo compartilhar
o primeiro erro e mais comum é o Access denied for user 'root'@'localhost' (pois na minha lógica não terá erro de sincronização do time zone se não conseguir nem acessar o Banco de Dados kkk)
para resolver é importante ter certeza do user local do Banco de Dados e também a senha (se tiver).
tendo o user e senha em mãos não tem mistério, utilize o método mostrado na aula: DriverManager.getConnection(null, null, null);
*Obs: o IDE Eclipse mostra 3 métodos semelhantes ao digitar o .get, eu uso o que necessita de senha.
de forma que fique:
public class conexão_Mysql {
public static void main(String[] args) throws SQLException {
Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/?user=root&password=suasenha", "root", "suasenha");
System.out.println("encerrando conexão");
connection.close();
}
}
feito isso, a conexão é para funcionar.
se tiver erro de "Access denied for user 'rot'@'localhost' (using password: YES)" verifique tanto o campo da url quanto o da String se estão corretos.
erro do Time Zone eu resolvi simplesmente adicionando APÓS o trecho de senha da url o parâmetro ?useTimezone=true&serverTimezone=UTC
ficando no fim:
package br.com.programa;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class conexão_Mysql {
public static void main(String[] args) throws SQLException {
Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/?user=root&password=suasenha?useTimezone=true&serverTimezone=UTC", "root", "suasenha");
System.out.println("encerrando conexão");
connection.close();
}
}
Não foquei no que já tem na aula, importando corretamente as classes, métodos e fazendo o build patch add, tudo deve funcionar normalmente. Espero ter ajudado alguém!