3
respostas

Não consigo subir o servidor local da aula 2 de react

Por gentileza alguém poderia me ajudar a resolver esse problema? Executo o comando no Ubuntu java -jar para executar o arquivo .jar fornecido na aula 2 para subir o servidor local e não consigo subi-lo por conta dessa senha do root.

Tue May 21 19:12:17 BRT 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2019-05-21 19:12:18.015 ERROR 27912 --- [           main] o.a.tomcat.jdbc.pool.ConnectionPool      : Unable to create initial connections of pool.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]
3 respostas

Fala Saulo tudo certo ?

Primeiro precisamos verificar duas coisas:

Versão do MySQL tem que ser 5.7 e a Versão do Java 8

Para verificar a versão do MySQL:

sudo mysql -u root;

O retorno vai ser parecido com isso:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
(VERSÃO 5.7.25)------> Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Para verificar a versão do Java

java -version

O retorno vai ser parecido com isso

(VERSÃO 1.8.0)------> openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Depois de verificar se ambos estão nas versões corretas MySQL 5.7 e Java 8 você irá precisar ver como qual é o plugin usado no seu user root, usando o código:

sudo mysql -u root

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

O retorno vai ser assim:

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

Caso na linha do root esteja escrito: auth_socket também, rodar os códigos abaixo:

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

Depois disso só entrar na pasta do arquivo .jar e rodar o código:

 java -jar cdcreact-1.0.0-SNAPSHOT.jar

Quase tudo certo! Veja só Felipe... Primeiro as versões do java e o do mysql correspondem as citadas por vc. Segundo quando tento acessar o mysql pelo comando sudo mysql -u root ele me retorna o error logo abaixo.

saulo@saulo-Inspiron-5547:~/Documentos/alura$ sudo mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Eu só consigo acessar o mysql usando o comando 'sudo mysql -u root -p' e fornecendo a senha que defini na intalação.

Terceiro meu root esta com o plugin definido como 'mysql_native_password' também, além de ter executado o 'FLUSH PRIVILEGES' e ainda sim o servidor local não consegue subir :/

Consegui resolver o problema! Fica dica pra quem passar pelo mesmo problema. Então, eu peguei o arquivo .jar fornecido pelo curso(cdcreact-1.0.0-SNAPSHOT.jar) e alterei o arquivo 'application.properties' que esta denro dele adicionando a mesma senha que coloquei pra meu usuário root na instalação do mysql.

#spring boot properties
#Thu Jul 21 15:01:47 EDT 2016
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password="sua_senha_configurada_no_root"
spring.datasource.url=jdbc:mysql://localhost/cdc_react?createDatabaseIfNotExist=true
spring.jpa.hibernate.ddl-auto=update

Espero ter ajudado!! E sinceramente esse curso de REACT esta deixando a desejar, você começa a trilha de REACT com um curso de javascript lecionado pelo Professor Flávio Henrique de Souza Almeida, super bem elaborado, com todos os passos necessário pra estudar o curso sem problema nenhum, dai quando começa os cursos de REACT, a cada aula é uma problema pra ser resolvido, muito mal instrucionado as configurações de ambiente, além de explicações muito vagas das coisas, códigos errados, api sem dados pra ser consumida no cdcreact-1.0.0-SNAPSHOT.jar. E olha que só estou na módulo 1, e na terceira aula, decepcionado com esse curso. Acho que vocês poderiam dar uma reformulada nele.