2015-03-29 4 views
0

настроить сервер MySQL на другом компьютере, и был в состоянии успешно получить доступ к базе данных удаленно с помощью следующей команды:Как получить доступ к базе данных MySQL из Java анонимно

mysql --host=server-address 

Но если добавить -uroot -p, было бы сказать,

Access denied for user 'root'@'c-24-34-21-61.hsd1.ma.comcast.net' (using password: YES) 

Поэтому я хочу написать код, который обращается к базе данных без идентификатора пользователя, как я это делал в командной строке. Я использовал ниже код, когда раньше пользовался учетной записью пользователя, но я попытался передать только «url» на DriverManager.getConnection (url), чтобы сделать анонимный доступ.

String url = "jdbc:mysql://server-address:3306/"; 
String id = "root"; 
String pwd = "some_password"; 
Connection con = DriverManager.getConnection(url, id, pw); 

Теперь я получаю эту ошибку:

java.sql.SQLException: Access denied for user ''@'c-24-34-21-61.hsd1.ma.comcast.net' (using password: NO) 

Не могли бы вы дать какие-либо представление о том, как решить эту проблему?

+0

Можете ли вы предоставить журнал, когда вы входите в систему, используя первый? mysql --host = server-address –

+0

** Поэтому я хочу написать код, который обращается к базе данных без идентификатора пользователя, как я это делал в командной строке **, что вы подразумеваете под идентификатором пользователя? вы имели в виду без какого-либо имени пользователя? –

ответ

0

Я предлагаю вам создать пользователя с именем пользователя как «анонимный» и без пароля в mysql db.

И затем попытайтесь получить к нему доступ. Это будет лучше, чем доступ без имени пользователя.

+0

Безопасно ли это? – Marichyasana

+0

@Marichyasana это не будет безопасно, если у вас нет пароля. – FMC

+0

есть. Это не безопасно. Но когда мы говорим об анонимном. Мы хотим, чтобы кто-то получил доступ без входа в систему, верно? Мы можем сделать это, мы можем ограничить права доступа для этого пользователя анонимным. –

Смежные вопросы