Доступ Java JDBC Access для пользователя
Я пытаюсь подключиться к MySQL из моего приложения Java, и он продолжает говорить:
java.sql.SQLException: доступ запрещен для пользователя ‘vincent’ @ ‘xxxx’ (с использованием пароля: YES)
Я проверил в phpmyadmin, что vincent может взаимодействовать с любым хостом, и у меня также есть скрипт python, который может без проблем подключиться к тому же имени пользователя / паролю
- Код ошибки: 1005. Невозможно создать таблицу «...» (errno: 150)
- Столбец автоинкремента MySQL перескакивает на 10 - почему?
- Как я могу имитировать переменную массива в MySQL?
- Пароль mysql root забыт
- Как исправить двойные кодированные символы UTF8 (в таблице utf-8)
В чем проблема ?
большое спасибо
С уважением.
- MySQL: Как получить случайную строку или несколько случайных строк?
- Как избежать специальных символов в MySQL?
- Максимальное использование памяти MySQL
- Временные зоны MySQL
- Передача массива в MySQL
- MySQL Server ушел при импорте большого файла sql
- mySQL DataSource на Visual Studio 2012
- Неверное строковое значение: '\ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x9F ...' MySQL
Попробуйте предоставить все привилегии вашему пользователю с любой машины в mysql:
grant all on db_name.* to 'vincent'@'%';
где db_name – имя вашей базы данных …
Вот как у меня есть разрешения GRANT:
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';
Вам также нужна хост-машина пользователя.
Использовать это
GRANT ALL PRIVILEGES ON db_base.* TO db_user @'%' IDENTIFIED BY 'db_passwd';
Вы должны предоставить доступ к пользователю на db. и да, если вы используете пользовательскую хранимую процедуру и функцию, тогда также используйте
GRANT SELECT ON mysql.proc TO 'db_user'@'%';
Вы должны указать userid
и password
при получении объекта соединения:
Connection cn=DriverManager.getConnection("protocol","userid","password");