Помогите Привязка бд с другим сервером

  • Автор темы Автор темы Graybot
  • Дата начала Дата начала

Graybot

Активный участник
Пользователь
Баллы
88
Вообщем,на одном сервере все бд + несколько серверов...в итоге пришла нужда купить новый серв и в плагинах на 2ом серве ,указал все пароли и апи первого серва...НО когда сервер запускается возникает такая проблема со всеми плагинами что к бд идут

Table Check Exception: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
 
Может быть на том сервере,где есть БД выключены GRANT права для пользователя и вместе с этим выключен внешний доступ?
 
скорей всего mysql на первом сервере настроен слушать только localhost (127.0.0.1), по этому не принимает конекты с других ип адресов.

решается настройкой в my.cnf
параметр bind-address = 0.0.0.0

при таких настройках, возможен конект к базе с любых адресов, по-этому рекомендуется настроить фаервол (iptables) для блокирования доступа со всех адресов и разрешения только с 1 определенного (2 сервер)

проверить какие адреса слушает сервер можно командой
Код:
netstat -ln |grep 3306
 
менять не надо, сервер слушает все адреса.

ошибка Communications link failure означает что нет соединения, т.е. клиент с сервера2 отправил пакет на серве1 на порт 3306, но не дождался ответа от mysql сервера1 и по истечении таймаута дал ошибку.

нужно смотреть фаерволы на одном и другом сервере.
 
Если вам необходимо установить полностью доверительные отношения между двумя серверами то делаем так:
#iptables -A INPUT -p tcp —source {ip-адрес удаленного сервера} -j ACCEPT
#iptables -A INPUT -p udp —source {ip-адрес удаленного сервера} -j ACCEPT

но пишет в итоге

тоже смое
 
Назад
Верх