У меня есть сервер mysql, доступ к которому осуществляется локально с нескольких компьютеров в сети через статический IP-адрес 192.168.1. #. Мне нужен доступ к серверу mysql с наших веб-серверов, чтобы я мог запускать синхронизацию данных через серверную часть веб-сайта. Я установил адрес dyndns для отслеживания общедоступного IP-адреса нашей сети и настроил брандмауэр для перенаправления порта нашего маршрутизатора на сервер mysql. Это работает правильно, так как я видел, как мои правила shorewall останавливали запросы доступа на сервере mysql. Если я удалю всю защиту брандмауэра (временно) на машине сервера mysql, чтобы проверить, могу ли я получить доступ к машине должным образом, я все равно не смогу получить к ней доступ, соединение просто истечет. Я не знаю, что еще мне нужно было бы установить на сервере mysql, чтобы разрешить этот доступ.
Моя таблица пользователей mysql позволяет моему пользователю получать доступ к базе данных с любого хоста. Мой файл my.cnf устанавливает для mysqld значение bind-address = 192.168.1. # И отключает пропуск сети
Работаю и ищу исправление несколько дней. Мы будем очень благодарны за любую помощь, ссылки или предложения.
Если какая-либо другая информация будет полезна, я буду рад предоставить все, чтобы это заработало сегодня. Спасибо за поиск и, надеюсь, помощь.
Боковое примечание: из любви к бороде Мерлина - убедитесь, что вы используете SSL или stunnel
Я бы не привязывал mysql к IP-адресу. Вы хотите иметь к нему доступ и локально? Если да, то закомментируйте адрес привязки.
Затем с другого локального компьютера введите:
nmap mysqlserveripaddress
где mysqlserveripaddress - это IP-адрес вашего сервера mysql. Если pot 3306 или mysql открыт, вы готовы к устранению неполадок в настройках вашего маршрутизатора (NAT / FW).
Если время ожидания соединения истекло, это не будут настройки MySQL.
Какой роутер и брандмауэр вы используете?
Вы уверены, что NAT настроен правильно? Может ли сервер MySQL выполнять маршрутизацию к маршрутизатору?