Я пытаюсь разрешить удаленному серверу доступ к экземпляру MySQL, который в настоящее время использует сервер Linux совместно с веб-приложением. В соответствии с документация единственный способ это было бы возможно (если я не понимаю правильно), если адрес привязки директива установлена на 0.0.0.0, что приводит к тому, что MySQL разрешает доступ с любого IP-адреса, который может создать действительного пользователя.
Итак, два вопроса:
Я думаю, вы неправильно понимаете адрес привязки установка немного. Это локальные адреса, которые MySQL будет прослушивать для соединений. По умолчанию 0.0.0.0, это все интерфейсы. Этот параметр не ограничивает, какие IP-адреса могут получить доступ к серверу, если вы не указали 127.0.0.1 только для localhost.
Если вам нужно ограничить определенных пользователей из определенные IP-адреса, используйте создание / предоставление пользователю, как это CREATE USER 'bobdole'@'192.168.10.221';
а. Это плохо. Несмотря на то, что вы можете ограничить доступ пользователей по ip в каждой базе данных, я думаю, что безопаснее, чтобы все соединения приходили локально. На моих серверах я разрешаю MySQL принимать только локальные соединения, 127.0.0.1 как конфигурация по умолчанию. Чтобы получить доступ к базе данных удаленно, все, что вам нужно сделать, это создать туннель ssh перед подключением к базе данных, а затем подключиться локально. Если вы кодируете на php, это сделать довольно просто. Если вы используете настольное приложение, это легко сделать в Linux (найдите туннель ssh). В Windows я обычно использую такую программу, как Putty, чтобы создать туннель для меня.