Назад | Перейти на главную страницу

какой порт я должен открыть для репликации мастер-мастер mysql?

У меня есть два сервера с php5-fpm и балансировщик нагрузки с nginx, три сервера используют / var / www / drupal с помощью nfs. nfs работает правильно. Я реплицировал базу данных двух серверов, используя главную репликацию mysql. все работало нормально, пока я не добавил свои правила iptables. В моем скрипте iptables я сначала отбрасываю все цепочки, затем принимаю те, которые мне нужны, кроме того, что нет других операторов drop. Я открыл порт 3306 для репликации mysql следующим образом: (правило действует на обоих серверах)

iptables -A INPUT  -p tcp -s $ip_Of_Other_Server  --dport  3306 -j ACCEPT
iptables -A OUTPUT -p tcp -d $ip_Of_Other_Server  --sport  3306 -j ACCEPT

Проблема в том, что когда я запускаю оба сервера и пытаюсь войти в систему, используя свою учетную запись на drupal, он не входит в систему, хотя я нахожу успешную попытку входа в систему в журналах drupal. Когда я запускаю только один из них, я могу войти в систему как обычно. когда я разрешаю все в моих правилах iptables, он работает нормально. Я считаю, что мне нужно открыть какой-то порт с помощью iptables, чтобы репликация работала правильно, но я не могу найти, какой из них открыть.

Мне просто нужно было открыть исходящие соединения:

iptables -A OUTPUT  -p tcp -d $ip_Of_Other_Server  --dport  3306 -j ACCEPT
iptables -A INPUT   -p tcp -s $ip_Of_Other_Server  --sport  3306 -j ACCEPT