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

Не удается подключиться к серверу MySql на удаленном сервере

Я пытаюсь получить доступ к своему серверу MySql с удаленного сервера через свой общедоступный IP-адрес. Когда я пытаюсь подключиться, я получаю сообщение об ошибке типа «не удалось открыть соединение с хостом» через несколько секунд. У него нет возможности спросить у меня учетные данные для входа. Вот некоторые из вещей, которые я сделал, чтобы открыть этот сервер для удаленных подключений:

Когда я пытаюсь подключиться по telnet из коробки в Далласе к коробке в Нэшвилле через порт 3306, я получаю следующее:

C:\Documents and Settings\Administrator>telnet 11.11.11.11 3306
Connecting To 11.11.11.11...Could not open connection to the host, on port 3306: Connect failed

Однако я могу пинговать 11.11.11.11 с 22.22.22.22 (извините за плохое форматирование ... я пробовал):

C: \ Documents and Settings \ Administrator> ping 11.11.11.11

Пинг 11.11.11.11 с 32 байтами данных:

Ответ от 11.11.11.11: байты = 32 время = 57 мс TTL = 54 Ответ от 11.11.11.11: байты = 32 время = 61 мс TTL = 54 Ответ от 11.11.11.11: байты = 32 время = 56 мс TTL = 54 Ответ от 11.11.11.11 : байты = 32 время = 57 мс TTL = 54

Статистика Ping за 11.11.11.11: Пакеты: отправлено = 4, принято = 4, потеряно = 0 (потеря 0%), приблизительное время приема-передачи в миллисекундах: минимум = 56 мс, максимум = 61 мс, средний = 57 мс

Таблицы IP за 11.11.11.11 гласили:

[root @ centos ~] # / sbin / iptables -L Цепочка INPUT (политика ACCEPT) цель
источник prot opt
место назначения
RH-Firewall-1-INPUT все - в любом месте в любом месте
tcp - 22.22.22.22 где угодно tcp dpt: mysql

Цепочка FORWARD (policy ACCEPT) цель
источник prot opt
место назначения
RH-Firewall-1-INPUT все - в любом месте в любом месте

Цепочка OUTPUT (policy ACCEPT) цель
источник prot opt
место назначения

Цепочка RH-Firewall-1-INPUT (2 ссылки) target prot opt ​​source destination ПРИНЯТЬ все - в любом месте ПРИНЯТЬ icmp - в любом месте
везде icmp любой ПРИНЯТЬ
esp - в любом месте в любом месте ПРИНЯТЬ ах - в любом месте
везде ПРИНЯТЬ udp - где угодно 224.0.0.251 udp dpt: mdns ПРИНЯТЬ udp - где угодно
udp dpt: ipp ACCEPT tcp - в любом месте в любом месте
tcp dpt: ipp ПРИНЯТЬ все - где угодно и где угодно
состояние СВЯЗАННО, СОЗДАНО ПРИНЯТЬ
tcp - в любом месте в любом месте состояние NEW tcp dpt: mysql ACCEPT
tcp - в любом месте в любом месте состояние NEW tcp dpt: ssh REJECT all - в любом месте отклонить-с icmp-host -hibited

@Sunny: Прямо сейчас локальный IP-адрес указан в /etc/my.conf. Чтобы увидеть, что произошло, я заменил локальный IP-адрес на 11.11.11.11. Когда я это сделал, MySql не смог запустить резервную копию. Я предполагаю, что адрес привязки должен быть IP-адресом в коробке.

Я МОГУ подключиться к MySql с другого компьютера в той же сети, используя локальный IP-адрес. Однако даже с локальным я не могу подключиться с помощью 11.11.11.11.

Любые идеи? Я не разбираюсь в Linux, но немного слеп.

Проверьте my.conf и какие привязки есть у MySql server.

Может быть так, что он слушает только в локальной сети.

Ты ищешь адрес привязки настройка в /etc/my.conf или /etc/mysql/my.conf.

Если этот параметр включен (обычно для привязки только к localhost 127.0.0.1), закомментируйте его, и это позволит MySql прослушивать все доступные интерфейсы.

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

Я настоятельно рекомендую вам использовать ssh-туннелирование для доступа к машине через Интернет.

В окнах вы можете использовать замазка в ssh (создание туннеля) в машину MySql. Вы можете перенаправить локальный порт 3306 на удаленный, а затем получить доступ к серверу MySql, используя localhost: 3306.