Все что ниже можете настроить через консоль mysql и брандмауэр.
Для открытия доступа к базе данных MySQL с внешних адресов на Windows и при этом обеспечения безопасности, можно выполнить следующие шаги:
1. Открыть порт в брандмауэре Windows: Откройте порт 3306 в брандмауэре Windows или другом антивирусном программном обеспечении.
2. Создать пользователя с доступом к удаленной базе данных: Создайте нового пользователя в базе данных MySQL, который будет иметь право подключаться к базе данных с удаленных адресов. Используйте строгие пароли и правильные разрешения доступа, чтобы обеспечить безопасность.
3. Отредактировать файл настроек MySQL: Отредактируйте файл настроек MySQL (my.ini или my.cnf) и задайте параметры bind-address=0.0.0.0 и skip-networking=NO. Это позволит MySQL прослушивать входящие подключения на всех сетевых интерфейсах.
4. Проверить подключение: Проверьте, что подключение работает, запустив MySQL CLI и подключившись к базе данных.
5. Защитить базу данных: Примените дополнительные меры безопасности, такие как шифрование соединения SSL/TLS, ограничение доступа по IP-адресу и т.д.
Обратите внимание, что открытие доступа к базе данных с внешних адресов может повлечь за собой риски для безопасности и конфиденциальности информации. Рекомендуется применять только необходимые меры безопасности и ограничения доступа, чтобы обезопасить вашу базу данных.
Чтобы добавить пользователя в базу данных MySQL и ограничить его доступ только к одной базе данных, выполните следующие шаги:
1. Войдите в MySQL CLI: Откройте командную строку или терминал и введите команду для входа в MySQL CLI с правами администратора:
mysql -u root -p
Введите пароль администратора, если он установлен.
2. Создайте нового пользователя: Выполните следующую команду, чтобы создать нового пользователя с указанным именем и паролем:
CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'пароль';
Замените `'имя_пользователя'` на желаемое имя пользователя, а `'пароль'` на пароль пользователя.
3. Ограничьте доступ пользователя только к одной базе данных: Чтобы предоставить пользователю доступ только к определенной базе данных, выполните следующую команду:
GRANT ALL PRIVILEGES ON `имя_базы_данных`.* TO 'имя_пользователя'@'localhost';
Замените `'имя_базы_данных'` на имя целевой базы данных, а `'имя_пользователя'` на имя созданного пользователя.
4. Примените изменения: Для применения изменений в привилегиях выполните следующую команду:
FLUSH PRIVILEGES;
Теперь пользователя `'имя_пользователя'` можно использовать для подключения к базе данных `'имя_базы_данных'` с ограниченными правами доступа. Он не будет иметь привилегий доступа к другим базам данных.
Обратите внимание, что в данном примере пользователь получает все привилегии (`ALL PRIVILEGES`) на указанную базу данных. Если вам нужно предоставить пользователю только определенные привилегии (например, только чтение данных), замените `ALL PRIVILEGES` на соответствующие привилегии (например, `SELECT`).