Ошибка подключения к базе данных MySQL в Java - PullRequest
0 голосов
/ 11 января 2012

У меня есть код Java, и я подключаюсь к базе данных mysql с помощью следующей строки подключения.

 String userName = "admin";
 String password = "pass";
 String url = "jdbc:mysql://<my IP>/dbase"; //not localhost
 Class.forName ("com.mysql.jdbc.Driver").newInstance ();
 conn = DriverManager.getConnection (url, userName, password);

Когда я создаю JAR (запускаемый JAR через затмение) и переносу его на другой компьютер в той же сети, я получаю ошибку

Access denied for user 'admin'@'<another machine IP' (using password: YES) //not localhost

IP-адрес волшебным образом изменился на IP-адрес другой машины, когда я перенес JAR на другую машину. Администратор имеет все возможные привилегии.

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

Ответы [ 3 ]

4 голосов
/ 11 января 2012

IP-адрес, указанный в сообщении об ошибке: IP-адрес компьютера, на котором работает ваша программа .Он говорит вам, что вам не разрешено подключаться к MySQL с с этим IP-адресом как root

Вам нужно будет поговорить с человеком, который настраивает / администрирует вашу базу данных MySQL.Скорее всего, это преднамеренная мера безопасности.

2 голосов
/ 11 января 2012

Возможно, вам следует выполнить следующую команду.

grant all privileges on *.* to 'admin'%'@' identified by 'pass';
flush privilges;
0 голосов
/ 11 января 2012

Я думаю, что нет проблем с вашим кодом Java.Также попробуйте подключиться к серверу mysql из командной строки

mysql -u root -h <ip address> -p

Если вы получили ту же ошибку, возможная причина будет 1. В правильном пароле 2. В доступе по сети отказано в доступе

Вы можете дать разрешение, используя приведенную ниже команду

GRANT ALL ON db.* to root@'ip' IDENTIFIED BY 'PASSWORD';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...