Erro conexão MySql com usuario diferente de root

11 respostas
Zeed01

Boa tarde colegas !!!

Estou desenvolendo uma aplicação java desktop utilizando swing e BD MySql.

Até então estava utilizando um banco local para os testes e me conectava assim:

Class.forName("com.mysql.jdbc.Driver");
			System.out.println("Conectando ao banco MySql...");
			return DriverManager.getConnection("jdbc:mysql://localhos/test","root","123456");

Tudo funcionava.

Agora criei um banco em outra maquina e tentei mudei a conexão para:

Class.forName("com.mysql.jdbc.Driver");
			System.out.println("Conectando ao banco MySql...");
			return DriverManager.getConnection("jdbc:mysql://10.11.52.154/test","root","123456");

Tudo funcionava.

No entanto, não gostaria que a aplicação utilizasse o usuario root para a conexão, então criei outro usuario e mudei a conexão para:

Class.forName("com.mysql.jdbc.Driver");
			System.out.println("Conectando ao banco MySql...");
			return DriverManager.getConnection("jdbc:mysql://10.11.52.154/test","zeed01","123456");

E agora não conecta mais…

E o engraçado é que a exception que ta dando é:

java.sql.SQLException: Access denied for user 'zeed01'@'10-11-26-131.com.br' (using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:868)

Sendo que o IP 10.11.26.131 é o da minha máquina e não o que estou passando na string de conexão…

Alguém sabe o que esta acontecendo ?

Obrigado a todos.

Um abraço.

11 Respostas

Marky.Vasconcelos

Se não me engano esse

Access denied for user 'zeed01'@'10-11-26-131.telesp.com.br'
Mostra que foi o usuario zeed01 tentando conectar da maquina 10.11.26.131

e sobre seu erro não posso te ajudar =/

Jeferson_Flamini

http://dev.mysql.com/doc/refman/5.0/en/access-denied.html

Zeed01

Quanto ao significado do erro eu entendi, não entendi porque esta tentando conectar na máquina 10.11.26.131 se estou passando 10.11.52.154 na string de conexão…

Alguém pode me ajudar ?

TangZero

Zeed01:
Quanto ao significado do erro eu entendi, não entendi porque esta tentando conectar na máquina 10.11.26.131 se estou passando 10.11.52.154 na string de conexão…

Alguém pode me ajudar ?

Esse é um erro de grant no MySQL…você tem que dar permissão para esse usuario no MySQL para que efetua conexôes remotas…
O IP que ele mostra é o da máquina que está tentando fazer a conexão com o MySQL.

A mensagem que você recebeu diz:

“Acesso não permitido ao usuário ‘zeed01’ do host ‘10-11-26-131.telesp.com.br’”

acesse o MySQL e de a permissão ao usuário se conectar de qualquer host:

GRANT ALL PRIVILEGES
ON *.* TO usuario@'%'
IDENTIFIED BY 'senha'

Isso resolve!

:stuck_out_tongue:

Zeed01

TangZero

Eu consigo conectar da minha máquina com o mysql da outra ?
Vou tentar explicar melhor:

Quando eu entro na MySql Command Line Client ja me aparece direto:

Enter password:

Colocando a senha eu conecto com o MySql da minha máquina…

No meu caso eu preciso me conectar com o MySql da máquina 10.11.52.154… que é não é a minha.

Eu posso colocar a senha e depois me conectar com a outra máquina, para enxergar o outro banco ? Porque é lá que quero criar o novo usuario…
Se sim, qual o comando para isso ?

Eu utilizo o NavCat para trabalhar com o MySql ao invés de usar a linha de comando, por lá eu consegui me conectar com a outra máquina mas só com o usuario root também…

Se puder me ajudar fico muito agradecido !

Um abraço.

Zeed01

TangZero:

Conectei diretamente na máquina onde o MySql esta instalado e com esse seu comando realmente a conexão começou a funcionar !

Muito obrigado !

Mas agora fiquei com outra… com isso o usuário zeed não ficou com os mesmos privilégios do usuário root ?

A minha intenão era dar a esse usuario somente acesso ao banco de dados da aplicação e com permissão de select, insert, delete e update nas tabelas que realmente precisar… mas permitir continuar fazendo a conexão remota, claro.

Sabe como posso fazer isso ?

Obrigado.

Um abraço.

peerless

Pq não usa o mysqladmin ? Fica tuuuuuuuuuuudo, mais simples e profissional.

Zeed01

Pode me explicar o que é o mysqladmin ?

Obrigado.

[]s

TangZero

Zeed01:
TangZero:

Mas agora fiquei com outra… com isso o usuário zeed não ficou com os mesmos privilégios do usuário root ?

A minha intenão era dar a esse usuario somente acesso ao banco de dados da aplicação e com permissão de select, insert, delete e update nas tabelas que realmente precisar… mas permitir continuar fazendo a conexão remota, claro.

Faz assim…

GRANT select, insert, update, delete
ON nome_do_banco.*
TO usuario@'%'
IDENTIFIED BY 'senha'

Carinha…dá uma lida no manual do MySQL…tô vendo que suas dúvidas são com o SGBD…
:wink:

Zeed01

Sim… nunca trabalhei com o MySql antes, só com Oracle e mesmo assim, aqui na empresa temos uma estrutura onde o banco fica a cargo dos DBA´s.

Você tem um manual do MySql, preferencialmente em português, para me indicar ?

Obrigado.

[]s

TangZero

Eu aprendi com esse…

http://baixaki.ig.com.br/download/MySQL-Manual.htm

Vai nessa carinha! :wink:

Criado 13 de junho de 2007
Ultima resposta 15 de jun. de 2007
Respostas 11
Participantes 5