![MySQL не прослушивает порт 3306](https://rvso.com/image/747363/MySQL%20%D0%BD%D0%B5%20%D0%BF%D1%80%D0%BE%D1%81%D0%BB%D1%83%D1%88%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%20%D0%BF%D0%BE%D1%80%D1%82%203306.png)
У меня проблема с MySQL. Я могу получить к нему доступ локально (и через веб-phpmyadmin), но не могу получить к нему доступ с удаленного компьютера.
Конфигурация:
- ОС: CentOS7
- MySQL: Сообщество MySQL 8
Порт к сервису открыт в брандмауэре. Я могу это проверить с помощью этой команды.
У меня также есть два пользователя в MySQL (пользователь с хостом localhost и пользователь с хостом %)
Но когда я проверяю порт из другой сети, я не могу получить к нему доступ
Я что-то забыл? Или ошибся? Любая помощь будет очень признательна
решение1
Обычно вам нужно отредактировать файл /etc/my.cnf
(это местоположение для CentOS 7) и внести следующие изменения:
- Добавьте строку:
bind-address = 0.0.0.0
- Закомментируйте строку
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.
ОБНОВЛЯТЬ: Я не увидел ту часть, где у вас был открыт порт. Отменить этот ответ