Удаленные подключения и MySQL на Ubuntu?
У меня Ubuntu работает в VMWare. Я установил сервер mysql 5, закомментировал bind-адрес и перезапустил сервер mysql. Я сейчас пытаюсь подключиться к MySQL, но я не могу. Я пытался использовать 1) код и 2) приложение с графическим интерфейсом с веб-сайта MySql. Оба сообщают, что не могут получить доступ к серверу. Что мне нужно сделать, чтобы подключить это?
2 ответа
Это может быть вызвано несколькими причинами (брандмауэр, другие проблемы с блокировкой входящих портов, VMWare NAT без перенаправления портов, MySQL не прослушивает правильный интерфейс / MySQL не работает в сети, неверное предоставление MySQL...)
Что нужно учитывать:
- MySQL работает и работает с сетью (вам может потребоваться указать пользователя / пароль для них)?
mysqladmin --protocol = ping сокета # проверить, доступен ли он через сокет UNIX mysqladmin --protocol=tcp ping # проверить, если он доступен через локальный TCP/IP mysqladmin --protocol=tcp --host=ipaddress ping # проверить, доступен ли через внешний IP-адрес (MySQL может быть настроен на прослушивание только по адресу обратной связи, он также может быть настроен на *skip-network * полностью)
- Доступна ли машина с других машин? Бежать
nmap -sT -p 22,3306 ipaddress
с другой машины это даст указание, доступна ли машина через порты SSH/MySQL или нет. - Если виртуальная машина работает в сетевом режиме NAT (в отличие от мостового), вам необходимо убедиться, что правильные порты перенаправлены на реальный IP-адрес компьютера, или иным образом использовать адрес NAT (где он доступен) для связи
- Брандмауэр на виртуальной машине или хост виртуальной машины препятствует доступу к порту 3306 (порт MySQL по умолчанию)? Проверьте правила брандмауэра (iptables -L для iptables).
- Если вы обращаетесь к серверу MySQL через DNS, вызывает ли DNS проблему? В этом случае вы можете попробовать подключиться, используя IP-адрес вместо имени хоста, чтобы исключить эту возможность.
- Если на компьютере работают учетные записи, но удаленным машинам отказано в разрешении, помните, что MySQL выполняет управление доступом, используя имя пользователя, пароль и имя хоста (с разрешенными подстановочными знаками). Возможно, вам придется скорректировать ваши таблицы грантов.
Я надеюсь, что один / некоторые из них помогут вам отследить проблему!
Локи
Вы также можете сделать что-то вроде "sudo tcpdump port mysql" в окне сервера MySql и посмотреть, получаете ли вы какие-либо пакеты при попытке подключения с удаленного клиента. Это поможет определить, на какой стороне сети находится проблема.