Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

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

Estou tentando conectar o Eclipse ao banco de dados e não vai de jeito nenhum. Segui diversos tutoriais na internet pra tentar descobrir como solucionar o problema e nada.

Vale dizer que o link do driver do mysql precisou ser outro, por que o do curso dava problema . Estou usando o mysql-connector-java_8.0.23-1ubuntu20.04_all.

Cheguei a deixar o segundo "root" so como "root" mesmo, e também como a senha que uso no terminal do Mysql. Meu codigo:

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

public class TestaConexao {

    public static void main(String[] args) throws SQLException {

        Connection connection = DriverManager
                .getConnection("jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC", "root", "sasajojo");         

        System.out.println("Fechando conexão!!!");

        connection.close();

    }

}

Mensagem do terminal

Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at TestaConexao.main(TestaConexao.java:9)

Seguem as coisas que ja tentei pra ver se algo funcionava

Tentativa 1 - redefinindo várias vezes a senha e o bind-address ( sem alterar o bind-adress nada muda tbm)

sudo mysql_secure_installation
Edite mysqld.cnf e mude bind-address para 0.0.0.0 com o comando:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
sudo service mysql restart
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY *sasajojo';

Tentativa 2 - purge que consegui aqui no forum

sudo apt-get --purge remove mysql-server mysql-common mysql-client
sudo apt-get install mysql-server mysql-common mysql-client
mysqladmin -u root password *sasajojo*
sudo /etc/init.d/mysql restart
mysql -u root -p

Tentativa 3 -

sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'sasajojo';
FLUSH PRIVILEGES;
SELECT user,authentication_string,plugin,host FROM mysql.user;
exit

também cheguei a diminuir as exigencias de senha: SET GLOBAL validate_password_policy=LOW;

Aceito toda ajuda possível =)

1 resposta
solução!

Pessoal, resolvido. Na realidade eu não conseguia utilizar o arquivo mysql-connector-java-8.0.17.jar sendo meu conector. Masss quando realizo o build path > add external archieve se utilizo outro pacote que não seja o que vem no curso.. não funciona.

Então o mysql connector pode até ser outra versão. mas o external archieve precisa ser o que o curso mantém aqui.