Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

12
respostas

Whitelabel Error Page Windows

Vi outros tópicos sobre isso porém não identifiquei uma solução para a situação no Windows.

java.sql.SQLException: Access denied for user 'forum'@'localhost' (using password: YES)

Whitelabel Error Page ao rodar

12 respostas

Oie! Tudo bem?

Esse erro geralmente ocorre quando as credenciais de acesso ao banco de dados estão incorretas ou quando o usuário não possui permissões suficientes para acessar o banco de dados.

Aqui estão algumas sugestões para resolver esse problema:

  • Checar se as credenciais de acesso ao banco de dados estão corretas. Certificar se o nome de usuário e a senha estão digitados corretamente. Lembre-se de que as senhas diferenciam maiúsculas de minúsculas, então verifique se você digitou corretamente.

  • Verificar se o usuário possui as permissões corretas para acessar o banco de dados. Você pode usar o comando GRANT para conceder as permissões necessárias ao usuário. Por exemplo:

    GRANT ALL PRIVILEGES ON database_name.* TO 'forum'@'localhost' IDENTIFIED BY 'password';
    

Lembrando que é importante substituir database_name pelo nome do seu banco de dados e password pela senha correta.

Se outra dúvida surgir, estamos aqui!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

E aí pessoal, tudo bem?

Estou encontrando o mesmo erro, porém no Linux.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quando eu acesso o https://localhost/health eu tenho esse retorno.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Não to conseguindo resolver :(

Estou com o mesmo problema: Ao executar:

docker logs -f app-forum-api

Tem este erro:

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) [HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) [HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) [HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) [HikariCP-3.4.5.jar!/:na] at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:73) [spring-boot-autoconfigure-2.3.1.RELEASE.jar!/:2.3.1.RELEASE] at org.springframework.beans.factory.ObjectProvider.ifAvailable(ObjectProvider.java:93) ~[spring-beans-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:72) [spring-boot-autoconfigure-2.3.1.RELEASE.jar!/:2.3.1.RELEASE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_212] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]

Maurício e José,

Vocês podem baixar o Driver do JDBC neste link, por favor? E testar novamente?

O log de erro de vocês dois constam sobre o JDBC do MySQL, então é possível que seja um problema do driver.

Se mesmo após baixar o mais recente para o seu sistema operacional ainda não funcionar, peço por gentileza que crie um novo tópico. Assim conseguimos ajudar com mais assertividade e focar nos problemas individualmente. =)

Abraços!

O sistema está rodando em um container em docker. Como faço para atualizar o JDBC dentro do container?

O projeto está usando o maven atualizei para o último drive do mysql-connector disponível mas não funcionou. Usando docker é para tudo subir tranquilo. Já tem um tempão que estou tentando resolver isto. Já li um monte de solução aqui do forum e da internet e nada funcionou.

Mesma coisa aqui José

Vou postar a solução que fiz.
**1**
Na pasta do projeto /eclipse-workspace/prometheus-grafana:
mkdir mysql_connection
**2**
Crie um arquivo meu.sql  dentro do diretório com o conteúdo:

Postei o código mais abaixo.

**3**
Alterei o arquivo docker-compose.yaml

Postei o código mais abaixo.
**4**
docker-compose down
**5**
docker-compose up -d
**6**

http://localhost/topicos

docker-compose.yaml

version: '3'

networks:
  database:
    internal: true
  cache:
    internal: true
  api:
    internal: true
  monit:
  proxy:

services:
  redis-forum-api:
    image: redis
    container_name: redis-forum-api
    restart: unless-stopped
    expose:
      - 6379
    networks:
      - cache

  mysql-forum-api:
    image: mysql:5.7
    container_name: mysql-forum-api
    restart: unless-stopped
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_DATABASE: 'forum'
      MYSQL_USER: 'forum'
      MYSQL_PASSWORD: 'Bk55yc1u0eiqga6e'
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
      MYSQL_ROOT_HOST: '%'
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      timeout: 20s
      retries: 10
    volumes:
      - ./mysql:/docker-entrypoint-initdb.d
      - ./mysql_connection/meu.sql:/docker-entrypoint-initdb.d/1.sql
    expose:
      - 3306
    networks:
      - database
    depends_on:
      - redis-forum-api

  app-forum-api:
    build:
      context: ./app/
      dockerfile: Dockerfile
    image: app-forum-api
    container_name: app-forum-api
    restart: unless-stopped
    volumes:
      - ./mysql_connection:/mysql_connection
    networks:
      - api
      - database
      - cache
    depends_on:
      mysql-forum-api:
        condition: service_healthy 
    healthcheck:
      test: "curl -sS http://app-forum-api:8080/actuator/health"
      interval: 1s
      timeout: 30s
      retries: 60
      start_period: 30s 
  
  proxy-forum-api:
    image: nginx
    container_name: proxy-forum-api
    restart: unless-stopped
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/proxy.conf:/etc/nginx/conf.d/proxy.conf
    ports:
      - 80:80
    networks:
      - proxy
      - api
    depends_on:
      - app-forum-api

  prometheus-forum-api:
    image: prom/prometheus:latest
    container_name: prometheus-forum-api
    restart: unless-stopped
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - ./prometheus/prometheus_data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/etc/prometheus/console_libraries'
      - '--web.console.templates=/etc/prometheus/consoles'
      - '--web.enable-lifecycle'
    ports:
      - 9090:9090
    networks:
      - monit
      - api
    depends_on:
      - proxy-forum-api

#  client-forum-api:
#    build:
#      context: ./client/
#      dockerfile: Dockerfile
#    image: client-forum-api
#    container_name: client-forum-api
#    restart: unless-stopped
#    networks:
#      - proxy
#    depends_on:
#      - proxy-forum-api

meu.sql

CREATE TABLE usuario (
    id int NOT NULL AUTO_INCREMENT,
    nome varchar(50),
    email varchar(50),
    senha varchar(255),
    PRIMARY KEY (id)
);

CREATE TABLE perfil (
    id int NOT NULL AUTO_INCREMENT,
    nome varchar(50),    
    PRIMARY KEY (id)
);

CREATE TABLE usuario_perfis (
    id int NOT NULL AUTO_INCREMENT,
    usuario_id int,
    perfis_id int,
    PRIMARY KEY (id)
);

CREATE TABLE curso(
    id int NOT NULL AUTO_INCREMENT,
    nome varchar(50),
    categoria varchar(50),
    PRIMARY KEY (id)
);

CREATE TABLE topico(
    id int NOT NULL AUTO_INCREMENT,
    titulo varchar(150),
    mensagem varchar(255),
    data_criacao varchar(50),
    status varchar(50),
    autor_id int, 
    curso_id int,
    PRIMARY KEY (id)
);

CREATE TABLE resposta(
    id int NOT NULL AUTO_INCREMENT,    
    mensagem varchar(255),
    solucao int,
    data_criacao varchar(50),    
    autor_id int,    
    topico_id int,
    PRIMARY KEY (id)
);


INSERT INTO usuario(nome, email, senha)VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq');
INSERT INTO usuario(nome, email, senha)VALUES('Moderador', 'moderador@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq');

INSERT INTO perfil(id,nome)VALUES(1,'ROLE_ALUNO');
INSERT INTO perfil(id,nome)VALUES(2,'ROLE_MODERADOR');

INSERT INTO usuario_perfis(usuario_id,perfis_id)VALUES(1,1);
INSERT INTO usuario_perfis(usuario_id,perfis_id)VALUES(2,2);

INSERT INTO curso(nome, categoria)VALUES('Spring Boot','Programação');
INSERT INTO curso(nome, categoria)VALUES('HTML 5','Front-end');

INSERT INTO topico(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida','Erro ao criar projeto','2019-05-05 18:00:00','NAO_RESPONDIDO',1,1);
INSERT INTO topico(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida 2','Projeto não compila','2019-05-05 19:00:00','NAO_RESPONDIDO',1,1);
INSERT INTO topico(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida 3','Tag HTML','2019-05-05 20:00:00','NAO_RESPONDIDO',1,2);

INSERT INTO resposta(solucao, mensagem, data_criacao, autor_id, topico_id) VALUES(1,'X','2019-05-05 18:00:00',2,1);
INSERT INTO resposta(solucao, mensagem, data_criacao, autor_id, topico_id) VALUES(2,'Javac HelloWorl.java','2019-05-05 19:00:00',2,2);
INSERT INTO resposta(solucao, mensagem, data_criacao, autor_id, topico_id) VALUES(3,'bootstrap','2019-05-05 20:00:00',2,3);

Bom! Não testei ainda, mas por curiosidade, tu fizeste essa solução da cabeça, ou viu em algum lugar?