Java JDBC Доступ запрещен для пользователя - PullRequest
2 голосов
/ 22 ноября 2011

Я пытаюсь установить соединение с MySQL из моего java-приложения, и он продолжает говорить:

java.sql.SQLException: доступ запрещен для пользователя 'vincent' @ 'xxxx' (с использованием пароля: ДА)

Я проверил в phpmyadmin, что vincent может подключаться с любого хоста, и у меня также есть скрипт на python, который может без проблем подключиться с тем же именем пользователя / паролем

Чтов чем проблема?

Большое спасибо

С уважением.

Ответы [ 4 ]

3 голосов
/ 22 ноября 2011

Попробуйте предоставить все привилегии вашему пользователю с любого компьютера в mysql:

 grant all on db_name.* to ‘vincent’@'%';

где db_name - это имя вашей базы данных ...

1 голос
/ 25 октября 2012

Используйте это

GRANT ALL PRIVILEGES ON db_base.* TO db_user @'%' IDENTIFIED BY 'db_passwd';

Вы должны предоставить доступ пользователю на БД.и да, если вы используете пользовательскую хранимую процедуру и функцию, тогда также используйте

GRANT SELECT ON mysql.proc TO 'db_user'@'%';
1 голос
/ 22 ноября 2011

Вот как я бы предоставил разрешения:

create database foobar;
create user foobar identified by 'foobar';
grant all on foobar.* to 'foobar'@'%' identified by 'foobar';
grant all on foobar.* to 'foobar'@'localhost' identified by 'foobar';

Вам также нужен хост-компьютер пользователя.

0 голосов
/ 22 ноября 2011

При получении объекта подключения необходимо указать userid и password:

Connection cn=DriverManager.getConnection("protocol","userid","password");
...