
У меня проблема с 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.
ОБНОВЛЯТЬ: Я не увидел ту часть, где у вас был открыт порт. Отменить этот ответ