java.sql.SQLException: доступ запрещен для пользователя

Я хочу создать пользователя, который может получить доступ с любых хостов к серверу Mysql.

я использую

create user [email protected] identified by 'abc123'

а также

grant all privileges mydb.* to 'abc'@'%';

Но когда я запускаю клиент, возникает ошибка: "java.sql.SQLException: Access denied for user 'abc'@'10.10.0.7' (using password: YES)

Помоги мне, пожалуйста!


person lannv    schedule 27.12.2012    source источник
comment
Вы создали пользователя с IP-адресом 10.10.131.17 и пытаетесь подключиться к серверу MySQL с 10.10.10.7. Это не сработает. Для этого вам нужно создать пользователя с IP 10.10.10.7 create user [email protected] identified by 'abc123'   -  person Saharsh Shah    schedule 27.12.2012
comment
Я использовал VPN для реальной локальной сети, и я хочу получить доступ из любого места, я создал пользователя 'abc'@'%'. но это не сработало. я боюсь, что когда я нахожусь в другой сети, может ли это быть нормально?   -  person lannv    schedule 27.12.2012
comment
Проверьте мой ответ и создайте пользователя, разрешающего все IP-адреса. И проверьте, что на вашем сервере работает брандмауэр. Разрешить эти IP-адреса в брандмауэре на сервере   -  person Saharsh Shah    schedule 27.12.2012
comment
Брандмауэр не будет проблемой, так как в этом случае он получает явную ошибку MySQL.   -  person favoretti    schedule 27.12.2012


Ответы (2)


Одним из очевидных предположений было бы то, что вы не сделали FLUSH PRIVILEGES; после выдачи оператора GRANT.

Еще одно очевидное предположение (не уверен, что в вопросе опечатка) заключается в том, что синтаксис GRANT - это GRANT ALL PRIVILEGES ON mydb.* TO 'abc'@'%'; с ON в нем.

person favoretti    schedule 27.12.2012
comment
извините за неправильный ввод, я использовал привилегии сброса после команды предоставления с ON, как вы говорите - person lannv; 27.12.2012

Вы создали пользователя с разрешенным IP-адресом 10.10.131.17 и пытаетесь подключиться к серверу MySQL с IP-адреса 10.10.10.7. Так что это не сработает. Чтобы получить доступ к серверу MySQL, вы должны создать пользователя, разрешающего IP-адрес 10.10.10.7 или разрешающего все IP-адреса, используя %.

CREATE USER `abc`@`10.10.10.7` IDENTIFIED BY 'abc123' 
GRANT ALL PRIVILEGES mydb.* TO `abc`@`10.10.10.7`;

ИЛИ

CREATE USER `abc`@`%` IDENTIFIED BY 'abc123' 
GRANT ALL PRIVILEGES mydb.* TO `abc`@`%`;
person Saharsh Shah    schedule 27.12.2012
comment
да, в первом случае все в порядке, я также пробовал второй случай, но он не работает, спасибо - person lannv; 27.12.2012
comment
Вы проверили мой комментарий к вашему вопросу? - person Saharsh Shah; 27.12.2012