MySQL сервер недоступен с удаленной машины

Я установил сервер MySQL на свой локальный сервер Ubuntu (11.10). Я не могу подключиться к серверу с удаленного компьютера.

Когда я попытался: - nmap localhost, он показывает следующее

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
3306/tcp open  mysql

Это означает, что 3306, порт MySQL открыт, верно? Но когда я попробовал nmap 192.168.0.50, который является IP-адресом сервера, я получил следующее: -

PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds

Означает ли это, что порт не открыт при доступе по IP? Если да, то как мне открыть порт?

Я пробовал следующий код, но, похоже, он не работал.

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Что здесь не так?

14
задан 3 July 2012 в 15:04

1 ответ

Ваш сервис MySQL обязан обслуживать localhost только (привязка интерфейса). Это - значение по умолчанию из соображений безопасности. Если действительно необходимо получить доступ к нему непосредственно от других хостов, существует хорошее, Как включить удаленный доступ к MySQL на Ubuntu, за которой Вы могли следовать:

  1. как корень, открытый Ваш /etc/mysql/my.cnf или /etc/mysql/mysql.conf.d/mysqld.cnf с Вашим любимым редактором как в различных системах это, как находят, отличается.
  2. ищите [mysqld] раздел, и там для bind-address ключевое слово. Это обычно устанавливается на 127.0.0.1 - изменение, что для соответствия "нормальному" IP-адресу
  3. сохраните файл и перезагрузите сервис (например, использование service mysql restart)

Помните, что необходимо позволить удаленным пользователям получить доступ к своей базе (базам) данных от удаленного путем установки соответствующих ПРЕДОСТАВЛЕНИЙ - например.

GRANT ALL ON mydb.* TO remoteuser@'%' IDENTIFIED BY 'SomePASSWORD';

Отметьте @'%', что означает "от любого хоста".

22
ответ дан 3 July 2012 в 15:04

Другие вопросы по тегам:

Похожие вопросы: