Это может быть достигнуто через комбинацию следующего:
Ваш веб-сервер должен включать некоторое действие для авторизации пользователя, в которой точке пользователь больше не подвергается вышеупомянутому поведению.
Существует несколько коммерческих продуктов для достижения этого поведения, но можно также прокрутить собственное. Я не знаю ни о ком свободном, решения OTS, но я держал пари, что можно найти тот.
Это не проблема брандмауэра: mysql просто не настроен для прослушивания чего-либо, кроме интерфейса обратной связи.
Отредактируйте /etc/my.cnf
и посмотрите для такой строки:
bind-address = 127.0.0.1
Измените это на 0.0.0.0, чтобы он прослушивал все интерфейсы и перезапускал mysqld. Убедитесь, что база данных недоступна из Интернета и т. Д. Через другие правила брандмауэра.