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)
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)
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!
E aí pessoal, tudo bem?
Estou encontrando o mesmo erro, porém no Linux.
Quando eu acesso o https://localhost/health eu tenho esse retorno.
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?