MySQL не прослушивает порт 3306

MySQL не прослушивает порт 3306

У меня проблема с MySQL. Я могу получить к нему доступ локально (и через веб-phpmyadmin), но не могу получить к нему доступ с удаленного компьютера.

Конфигурация:

  • ОС: CentOS7
  • MySQL: Сообщество MySQL 8

Порт к сервису открыт в брандмауэре. Я могу это проверить с помощью этой команды.

firewalld

У меня также есть два пользователя в MySQL (пользователь с хостом localhost и пользователь с хостом %)mysql_user

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

проверяющий

Я что-то забыл? Или ошибся? Любая помощь будет очень признательна

решение1

Обычно вам нужно отредактировать файл /etc/my.cnf(это местоположение для CentOS 7) и внести следующие изменения:

  1. Добавьте строку:bind-address = 0.0.0.0
  2. Закомментируйте строку skip-networking, поместив #в начале символ a.

IE:

[mysqld]
bind-address    = 0.0.0.0
# skip-networking

Первая строка определяет, что это для демона MySql. Вторая строка говорит MySql привязаться к сетевому интерфейсу, 0.0.0.0то есть ко всем интерфейсам. Третья строка говорит MySql не пропускать процедуры сетевой конфигурации.

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

решение2

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

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

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

ОБНОВЛЯТЬ: Я не увидел ту часть, где у вас был открыт порт. Отменить этот ответ

Связанный контент