Как открыть порт 3306 для mysql ubuntu

Обновлено: 03.07.2024

Ubuntu установлен Ubuntu 11.10 (GNU / Linux 2.6.32-042stab072.10 x86_64)

Результаты netstat -tuple на каждом сервере

Оскорбляющий сервер

Рабочий сервер

Проблема была в том, что сервер слушал только внутри.

Удаление строки bind-address 127.0.0.1 из /etc/mysql/my.cnf решенного вопроса.

Более новые версии Ubuntu (≥16.04) могут иметь эту строку в /etc/mysql/mysql.conf.d/mysqld.cnf .

Это сработало для меня. Обратите внимание, правильное имя файла /etc/mysql/my.cnf нет /etc/mysql/my.conf . Я изменил свой bind-адрес, чтобы он соответствовал внешнему IP-адресу сервера, и это сработало для меня. Удалите строку полностью, и сервер будет слушать ВСЕ интерфейсы Вы спасли мой день, пытаясь решить эту проблему в течение пары недель, спасибо!

Мое предложение, если вы уверены, что порты закрыты (я нахожу странным, что VPS закрывает этот порт), это изменить файл конфигурации MySQL, чтобы использовать другой.

Просто откройте файл конфигурации в терминале sudo nano /etc/mysql/mysql.conf и найдите [mysqld] раздел. В нем ищите строчку, которая гласит port = 3306 . Измените его на другой неиспользуемый порт и сохраните файл.

Затем просто либо перезапустите VPS, либо перезапустите службу, как sudo service mysql restart .

Просто отметим, что если файл mysql.conf не в том, что я упоминал выше, он может быть в следующих местах:

И если service команда не работает, то сделайте это:

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

Поскольку это VPS, я бы также проверил панель управления VPS, чтобы узнать, есть ли у нее опция, которая может блокировать порты.

Кроме того, я бы запустил nmap VPS, чтобы посмотреть, какие порты вы открыли. Вам нужно запустить его снаружи VPS, чтобы увидеть, какие порты они открыли.

netstat -tuplen Также полезно посмотреть, какие открытые порты у вас на сервере, а какие находятся в режиме LISTEN.

Поставил на VirtualBox Ubuntu server 16.04 и сервер MySQL. В сети этот комп под отдельным IP (10.0.0.4), работает через мост.

В начале не смог подключиться через MySQL Workbench, но пинг до сервера есть, начал копать в части портов. На серверe открыт только один порт, а 3306 в стутсе CLOSED

После изучения мануалов, прописал в iptables порт 3306 для подключения

Через iptables-save сохранить не получилось, после перезагрузки все записи исчезали. Пришось установить iptables-persistent.

все сохранилось и, после перезагрузки, все осталось в таблице

НО! Порт все еще закрыт.

Что не так, где еще копать мануал? HELP PLEASE!

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

3306 порт
помогите не могу открыть доступ к бд mysql 3306 порту

Что занимает порт 3306
Подскажите,пожалуйста,как узнать,что занимает порт 3306. До загрузки новой версии MySQL у меня была.

Как открыть порт 3306
Дорогие друзья! Помогите Бога ради! Пытаюсь зарегистрироваться в онлайновой информационной.

Ошибка подключения МаСкуля на 3306 порт
Доброго времени суток! Сколько себя помню - каждый раз новые ошибки при установке выдает, сейчас он.

Какой мост? Ты юзаешь сервер в виртуалке и раздаёшь это в интернет или локальная операционка не видит порт? Мост (bridge) - настройка сетевого интерфейса в VirtualBox.
Да, у меня сервер на виртуалке, и в локальной сети виден как отдельная машина. С пингом проблем нет, с подключением через SSH - тоже все норм.
Комп 10.0.0.2 (Ubuntu) не видит порт 3306 на 10.0.0.4 (Ubuntu server). Да и на самом 10.0.0.4 порт закрыт.
Humster13, делали это? Для MySQL remote access нужно проделать.

Скажем так, большинство у меня проделано, есть вопрос по файлу конфигурации my.cnf, он у меня просто пустой.

В IPTABLES порт 3306 у меня открыт, но после команды

Решение

в убунте, установлено по дефолту, никакие порты открывать не нужно, все правила файервола сброшены, а дефолтное действие по всем цепям (включая и input) - accept

Favorite

Добавить в избранное

Главное меню » Базы данных » База данных MySQL » Как разрешить удаленные подключения к серверу базы данных MySQL

(1 оценок, среднее: 5,00 из 5)

Как разрешить удаленные подключения к серверу базы данных MySQL

П о умолчанию сервер MySQL прослушивает соединения только от localhost, что означает, что к нему могут обращаться только приложения, работающие на одном хосте.

Однако в некоторых ситуациях необходимо разрешить удаленные подключения. Например, когда вы хотите подключиться к удаленному серверу MySQL из вашей локальной системы, или когда вы используете многосерверное развертывание, когда приложение работает на компьютере, отличном от сервера базы данных.

В этой статье мы рассмотрим шаги, необходимые для разрешения удаленных подключений к серверу MySQL. То же самое относится и к MariaDB.

Настройка MySQL Server

Если сервер MySQL и клиенты могут взаимодействовать друг с другом через частную сеть, то лучшим вариантом будет настроить сервер MySQL на прослушивание только по частному IP. В противном случае, если вы хотите подключиться к серверу через общедоступную сеть, настройте сервер MySQL на прослушивание всех IP-адресов на компьютере.

Для этого вам нужно отредактировать файл конфигурации MySQL и добавить или изменить значение опции bind-address. Вы можете установить один IP-адрес и IP-диапазоны. Если адрес есть 0.0.0.0, сервер MySQL принимает соединения на всех интерфейсах IPv4 хоста. Если в вашей системе настроен IPv6 0.0.0.0, используйте вместо .

Расположение файла конфигурации MySQL зависит от дистрибутива. В Ubuntu и Debian файл находится по адресу /etc/mysql/mysql.conf.d/mysqld.cnf, в то время как в дистрибутивах на основе Red Hat, таких как CentOS, файл находится по адресу /etc/my.cnf.

Откройте файл в текстовом редакторе :

Найдите строку, которая начинается с bind-address и установите в качестве значения IP-адрес, который должен прослушивать сервер MySQL.

По умолчанию установлено значение 127.0.0.1 (прослушивается только на локальном хосте).

В этом примере мы настроим сервер MySQL на прослушивание всех интерфейсов IPv4, изменив значение на 0.0.0.0
mysqld.cnf

В MySQL 8.0 и выше директива bind-address может отсутствовать. В этом случае добавьте ее в разделе [mysqld].

После этого перезапустите службу MySQL, чтобы изменения вступили в силу. Только root или пользователи с привилегиями sudo могут перезапускать сервисы.

Чтобы перезапустить службу MySQL в Debian или Ubuntu, введите:

В дистрибутивах на основе RedHat, таких как CentOS, для перезапуска службы выполните:

Предоставление доступа пользователю с удаленного компьютера

Следующим шагом является предоставление доступа к базе данных удаленному пользователю.

Войдите на сервер MySQL от имени пользователя root, введя:

Если вы используете старый плагин аутентификации MySQL для входа в систему от имени пользователя root, введите команду ниже и введите пароль при появлении запроса:

Внутри оболочки MySQL используйте GRANTоператор для предоставления доступа удаленному пользователю.

Например, чтобы предоставить доступ к базе данных dbname пользователю с именем andreyex с паролем my_passwd с клиентского компьютера с IP 10.8.0.5, вы должны выполнить:

Настройка брандмауэра

Iptables

Если вы используете iptables в качестве брандмауэра, команда ниже разрешит доступ с любого IP-адреса в Интернете к порту MySQL. Это очень небезопасно.

Разрешить доступ с определенного IP-адреса:

Разрешить доступ с определенного IP-адреса:

FirewallD

FirewallD является инструментом управления брандмауэром по умолчанию в CentOS. Чтобы разрешить доступ с любого IP-адреса в Интернете (очень небезопасно), введите:

Чтобы разрешить доступ с определенного IP-адреса на конкретном порту, вы можете создать новую зону FirewallD или использовать расширенное правило. Хорошо создайте новую зону с именем mysqlzone:

Проверка изменений

Чтобы убедиться, что удаленный пользователь может подключиться к серверу MySQL, выполните следующую команду:

Где user_name имя пользователя, которому вы предоставили доступ и mysql_server_ip, IP-адрес хоста, на котором работает сервер MySQL.

Если все настроено правильно, вы сможете войти на удаленный сервер MySQL.

Приведенная ниже ошибка указывает на то, что пользователь, которому вы пытаетесь войти, не имеет прав доступа к удаленному серверу MySQL.

Заключение

MySQL, самый популярный сервер баз данных с открытым исходным кодом по умолчанию, прослушивает входящие соединения только на локальном хосте.

Чтобы разрешить удаленные подключения к серверу MySQL, вам необходимо выполнить следующие шаги:

  1. Настройте сервер MySQL для прослушивания всего или определенного интерфейса.
  2. Предоставьте доступ удаленному пользователю.
  3. Откройте порт MySQL в вашем брандмауэре.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как удаленно подключиться к MySQL

Подключаться к базам данных можно разными способами. Подключение, устанавливаемое с сервера, называется локальным. С помощью такого типа подключения можно работать с домашнего компьютера, при этом используя любые удобные приложения по управлению базами данных.

Я расскажу, как подключиться к удаленной базе данных MySQL, какие существуют способы, а также опишу некоторые типичные ошибки.

Подключение через панель управления TimeWeb

Чтобы подключиться удаленно к MySQL, необходимо для начала открыть сайт хостинга и авторизоваться в личном кабинете. В панели управления следует выбрать раздел «Базы данных MySQL», через него и будем проводить операции. В новом открывшемся окне находим ссылку «Добавить доступ» напротив того сервера, к которому планируется подключиться. Для разрешения доступа к подсети /24 меняем последний актет IP-адреса на знак %.

При установлении соединения используем имя сервера или его IP-адрес. Данная информация доступна на главной странице в разделе «Информация о сервере». Порт указываем 3306, имя пользователя будет тем же, что и название базы данных. Вводим пароль и устанавливаем соединение.

phpMyAdmin

phpMyAdmin – программное средство, предоставляющее веб-интерфейс для работы с сервером MySQL. Подключиться к базе можно, открыв раздел «Базы данных MySQL» в панели управления хостингом. Находим на странице ссылку «phpMyAdmin» и жмем по ней для подключения. Если она недоступна, значит, пользователем был превышен лимит доступных БД. Увеличить его можно сменой тарифа.

Соединение через SSH туннель

Данный тип подключения считается более безопасным, потому что все данные по SSH-туннелю передаются в зашифрованном виде, исключая возможность перехвата.

Подключение в Windows

В данной ОС соединение по SSH протоколу можно осуществить с помощью специальных программ для управления базами данных. Например, PuTTY (бесплатная программа) или SecureCRT (платное ПО, но с пробной версией на 30 дней).

Мы для работы выбрали PuTTY. Скачиваем установщик с официального сайта и устанавливаем приложение . Запускаем программу, затем переходим в раздел «Session». В поле «Host Name» вводим свой домен или указываем его IP-адрес.

Настройка туннеля SSH в приложении PuTTY

Далее переходим в категорию «Connection», открываем вкладку «SSH», затем «Tunnels». В поле «Source Port» указываем значение 3306, в «Destination» вбиваем localhost:3306, потом жмем на кнопку «Add» для добавления порта в список. И только потом жмем кнопку «Open» для установления соединения с хостом.

Создание SSH-туннеля с помощью программы PuTTY

Логин и пароль те же самые, которые используются для входа в панель управления. При подключении используем имя пользователя и пароль, выданные при создании базы данных. Адрес сервера - 127.0.0.1, порт для подключения 3306.

Предупреждаем, что если вы уже устанавливали сервер баз данных MySQL на своем компьютере, то соединение через порт 3306 будет недоступно. Надо будет указать другое значение, например 3307.

Подключение в Linux

В ОС Linux никакого дополнительного ПО устанавливать не придется, можно все провести через командную строку «Терминал». Перед тем как подключиться к MySQL удаленно, нужно создать SSH-туннель. Вводим вот такую команду:

Потом в конфигурационном файле MySQL потребуется изменить параметр, отвечающий за удаленное подключение. Открываем в «Терминале» файл, дав вот такую команду:

Далее комментируем нужную нам строку. В итоге она должна выглядеть вот таким образом:

Сохраняем изменения, потом перезапускаем MySQL вот такой командой:

Далее будет запрошен пароль для входа в панель управления хостингом, вводим его. Для подключения к удаленному серверу MySQL необходимо создать пользователя, и делается это вот такой командой:

Так мы создадим пользователя с неограниченным доступом ко всем базам на указанном сервере. Потом проверяем подключение утилитой telnet. Если сервер запрос не отклонил, значит, пора приступать к подключению. Для этого можно задать команды вот таких типов:

VDS Timeweb арендовать

Как проверить соединение с базой данных MySQL

Для проверки подключения к базе данных MySQL во всех ОС используем утилиту telnet. Нужно просто открыть командную строку и набрать в ней вот такую команду:

Если соединение установится, то настройка туннеля прошла успешно, можно приступать к подключению. Если нет, рекомендуем тщательно проверить все настройки.

Часовой пояс MySQL

MySQL и Java-приложение (docker)

Распространенные проблемы и ошибки при подключении к MySQL

Как подключиться к MySQL удаленно, если возникают какие-то ошибки? Трудности обычно возникают при наличии запрещающих правил. Проверить, существуют ли такие, можно вот таким запросом:

Если таковые обнаружатся, добавим разрешающее правило. Для этого надо ввести соответствующую команду, она должна выглядеть примерно вот так:

Есть еще возможность открыть доступ для определенного IP-адреса, и это куда более безопасный способ. Для этого потребуется ввести такой запрос:

Если же появляется ошибка типа «Client does not support autentification protocol request by server; consider upgrading MySQL client» , это значит, что установленный клиент не поддерживает требуемый сервером протокол.

Ошибка «1045 невозможно подключиться к серверу MySQL» возникает при попытке подключиться удаленно к базам данных через phpMyAdmin. Причиной тому может быть неправильно введенный логин или же отсутствие пароля у пользователя или его неправильная смена.

Заключение

MySQL – один из самых популярных серверов баз данных с открытым исходным кодом. Подключиться к нему можно разными способами, причем как локально, так и удаленно. Если в процессе соединения возникают нетипичные ошибки, рекомендуем связаться со службой технической поддержки.

Читайте также: