2009-11-09 3 views
1

Я разработал приложение в Java, которое обращается к удаленной базе данных mysql. В то время как я запускаю его с помощью netbeans IDE системы, которая запускает этот Wamp-сервер. Но пока я пытаюсь подключиться в другой системе к удаленной системной базе данных netbeans, она показывает следующую ошибку.Удаленный доступ к базе данных MYSQL

Невозможно добавить соединение, не удается установить соединение с JDBC: MySQL: //192.168.1.14: 3306/тест с использованием (CommunicationsException:. Связь отказа канала

Последний пакет, отправленный на сервер был 0 мс назад

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

заранее спасибо

ответ

0

MySQL является стандартной защитой, так что вы не можете получить доступ к нему удаленно. вы должны будете предоставить MySQL, а также пользователя при подключении к MySQL доступа из вне М ySQL-машина.

0

Возможно, проблема с низким уровнем сети.

Можете ли вы проверить IP-адрес? Можете ли вы использовать telnet для этого IP-порта?

например. telnet 192.168.1.14 3306

Установив, можете ли вы поговорить с машиной и можете ли вы создать базовое TCP-соединение с процессом MySQL на этом компьютере, вам будет много сказано - это ваш сетевой звук, это процесс, прослушивающий этот порт и т. Д.

+0

Hello Brain Agnew, Я пробовал как вы сказали. Но он показывает следующее C: \ Documents and Settings \ Net Cafe> telnet 192.168.1.14 3306 Подключение к 192.168.1.14 ... Не удалось открыть соединение с хостом на порту 3306 : Не удалось подключиться –

+0

Так что либо вы У меня есть маршрут (работает ping), или MySql не прослушивает этот порт (возможно, прослушивание другого порта или вообще не прослушивание) –

1

от mysql forums

Вы можете получать это потому, что (1) URL в БД не так, потому что (2) БД не настроен принимать соединения от веб-хостинга, или потому, что (3) некоторая промежуточная сетевая составляющая неправильно сконфигурирована. (1) - ваша проблема; (2) и (3) может быть вашей проблемой или проблемой веб-хостинга, в зависимости от того, где находится БД, какие административные привилегии в вашей БД и как настроена сеть.

Для того, чтобы удаленно подключаться к MySQL, у вас должны быть права. Существует несколько инструментов для его настройки.

Here - это статья, в которой излагаются несколько этапов, на которых обычно требуется этап предоставления.

mysql> GRANT ALL ON foo.* TO [email protected]'202.54.10.20' IDENTIFIED BY 'PASSWORD'; 

Там также были проблемы сообщенные при подключении к базам данных MySQL в Windows Vista, но я не уверен, что кастрированный баран это отношение к этому делу или нет.

+0

Ваше решение отлично работает в какой-то системе локальной сети. Так что спасибо вам большое. Но теперь я решил проблему выше с ясным способом. Я остановил брандмауэр, теперь он отлично работает. Можете ли вы мне помочь, как изменить настройку брандмауэра для acceppt/reject входящего и исходящего соединения vai TCP/IP ..... –

+0

Боюсь, я мало знаю о брандмауэрах. –

1

У вас есть доступ к ssh на сервере? Я бы запустить туннель SSH, палить или замазки (SSH -L 3305: 127.0.0.1: 3306 192.168.1.14), а затем использовать этот адрес соединения

jdbc:mysql://127.0.0.1:3305/test 

Было бы легче помочь, если бы мы известной вашей операционной системы.

Если это ситуация с развертыванием, открытие брандмауэра для порта 3306 с вашего IP-адреса, вероятно, правильное. В linux вы можете найти настройки в/etc/sysconfig/iptables, но ваш системный администратор может иметь другие безопасные защитники. Вы также должны убедиться, что mysql фактически прослушивает IP-адрес, а не только localhost.

+0

+1 для подсказки, что mysql может быть настроен для прослушивания только на локальном хосте, так что никакой «GRANT ...» и никакой конфигурации брандмауэра не помогут. Укусила меня однажды. –