3
respostas

Could not obtain connection to query metadata : Access denied for user 'root'@'localhost' Ubuntu 18.04

Já tentei de várias maneiras configurar o MySQL no Ubuntu 18.04, e a forma que eu consegui instalar o MySQL com uma senha root foi desse link: https://www.digitalocean.com/community/tutorials/como-instalar-o-mysql-no-ubuntu-18-04-pt

consegui executar o mysql pelo comando mysql -u root -p com o sudo, porém quando vou executar o camando java -Dspring.datasource.password=root -jar jar-cdc-react.jar da o seguinte erro no projeto do Java Could not obtain connection to query metadata : Access denied for user 'root'@'localhost'

Eu sei que o problema é no meu ambiente mas acredito que a decisão de usar um projeto em JAVA foi um pouco infeliz, da parte do Alura. Perdi tempo tentando configurar o banco na maquina, sendo que não é o foco do curso, vou partir para o servidor online disponibilizado no Heroku.

Uma sugestão para os próximos cursos com esta necessidade é criar um servidor REST mais simples com o Node.js e o Mongo. Acho que os alunos teriam mais sucesso em executar o serviço.

Se alguém tiver passado pelo mesmo problema e consegui rodar o Jar, por gentileza, comentar aqui qual foi a solução. Desde já agradeço!

Grande abraço!

3 respostas

Fala aí Lucas, beleza? Bom, primeiramente desculpas pelo transtorno e dificuldades, porém, vamos lá:

A senha do seu banco de dados está configurada como root? Esse erro é porque ele está tentando conectar no MySQL, porém, alguma coisa esta errada, isso geralmente é: usuário ou senha.

Você está utilizando uma versão muito nova do Ubuntu, quando o curso foi gravado, provavelmente muitas versões mudaram, seja o MySQL, S.O ou lib's. Manter um curso sempre e constantemente atualizado é complicado.

Pensando justamente em problemas futuros foi dado uma API através do Heroku, onde essa, não irá mudar, independente do tempo que passe, a API será a mesma.

Sua sugestão é muito bom, mas, também vai exigir o trabalho de instalar o Node e configurar o Mongo, onde problemas entre versões e incompatibilidade também irão acontecer.

O cenário ideal para que o Aluno fique sempre livre desse problema seja disponibilizar a API de forma externa através de um cloud como o Heroku por exemplo.

Obrigado pelo seu feedback, irei reportar para o pessoal e novamente peço desculpas.

Olá Matheus,

Boa tarde! Compreendo, muda muita coisa em poucos meses no mundo da tecnologia. Mas o curso esta sensacional! E o Heroku me salvo nessa! ;)

Acho que o problema esta relacionado com as permissões do Ubuntu com o serviço do MySQL, parece que ele só esta aceitando conectar no usuário root com o 'sudo'. Não sei pq. Quando do um sudo mysql -u root -p e insiro a senha, ele permite o acesso, quando não insiro o sudo, ele da um erro do tipo Access denied for user 'root'@'localhost'.

Mas de qualquer forma, estou conseguindo usar bem o Heroku. =D

Se eu consegui resolver o problema eu informo aqui.

Grande abraço, e muito obrigado pela atenção.

Fala aí Lucas, o que você pode tentar fazer é adicionar o seu usuário no grupo de root, dessa maneira não será necessário ficar toda hora informando o sudo.

Obs: Mas é estranho, geralmente o MySQL não precisa toda hora ficar informando o sudo.

Espero ter ajudado.