2016-12-19 3 views
0

Я работаю над проектом, и у меня есть Java-программа, которая анализирует кучу файлов и разбивает их на записи, которые должны храниться в базе данных. Я тестировал программу на своем сервере, используя следующее (IntelliJ генерироваться) строку:Не удается подключиться к удаленному серверу mysql (phpmyadmin) из java (intellij)

enter image description here

И вышеупомянутую строку отлично работает в коде, и все данные хранятся

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

enter image description here

(Есть два открытых портов: 22 и 80)

На 80-е порта он висит на «подключение к базе данных» навсегда (более 10 минут),

и на порт 22, я получаю ошибку размера пакета выше.

Я пошел в phpmyadmin и изменил переменную max_allowed_packet на 4739923, но все равно получаю ту же проблему (изменение все еще не отражено в ошибке).

Я не отвечаю за этот db, хотя у меня есть пользователь и пароль администратора. Любая помощь в этом вопросе было бы весьма признателен

Я думаю, у меня есть 2 вопроса:

  1. ли моя строка соединения синтаксически правильно (и если не то, что оно должно быть)
  2. Если строка является правильным , что делать в этом вопросе размера пакета/висит навсегда

ответ

1

1.) Да, URL-адрес синтаксически правильный. Если вы хотите указать пользователя и пароль, вы можете добавить ?user=<username>&password=<password> в конец строки.

2.) Скорее всего, он не работает, потому что вы, по-видимому, используете порт SSH (22) и порт HTTP (80) вместо порта MySQL (3306). Если это только два открытых порта, вам придется попросить администратора сервера вручную разрешить удаленные подключения к его серверу MySQL.

+0

Это только два открытых порта:/Если у меня есть администратор пользователь и пароль, смогу ли я перейти на phpmyadmin и самостоятельно изменить это? –

+0

Нет, я не думаю, что вы можете изменить эти значения в phpmyadmin. Вам нужно будет ssh на сервер и закомментировать 'bind-address: 127.0.0.1' в /etc/mysql/my.cnf –

+0

Это выше моего paygrade :(Не знаю, как это сделать. Наверное, я ' Мне нужно связаться с администратором.Однако это было очень полезно –

0
  1. Синтаксис правильно.

  2. проблема с размером пакета. Изменения в max_allowed_packet, возможно, не вступили в силу. Выполните следующее, чтобы проверить значение:

    SHOW VARIABLES LIKE 'max_allowed_packet';

    висит навсегда - проверьте правильность используемого порта.

+0

Я набрал SHOW VARIABLES LIKE «max_allowed_packet» и вернулся 4749312. Я проверил использование сетевой утилиты Mac и IP-адреса имеет порт 22 и порт 80 open:/ –

+0

Чтобы проверить, что порт открыт 3306 .. как указано в ответе ниже, можно использовать telnet на cmd: –

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