Настройки, позволяющие другим компьютерам подключаться к базам данных MySQL (версия для Windows)
Условия эксплуатации
- MySQL
-
- MySQL 8.0
- Виндоус
-
- Windows 11
Необходимые условия
- MySQL
-
- MySQL 8.0
- Виндоус
-
- Windows 11
- Windows 10
- Сервер Windows
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
предварительное условие
- Установлена MySQL 8
Проверка брандмауэра
В MySQL брандмауэр устанавливается на следующем экране во время установки, поэтому вам не нужно настраивать какие-либо дополнительные параметры.
На всякий случай проверьте настройки брандмауэра. Поскольку работа до отображения отличается в зависимости от версии Windows, введите «брандмауэр» в меню «Пуск», чтобы отобразить его.
Выберите «Дополнительно» в меню слева.
Если вы выберете "Inbound Rules" слева, вы увидите, что "Port 3306" и "Port 33060" были добавлены в список. Это то, что было добавлено в MySQL.
Проверка конфигурационного файла
Раньше нужно было bind-address
менять из конфигурационного файла, но в текущей версии этого пункта не существует, поэтому менять настройку нет необходимости.
Конфигурационный файл для MySQL в Windows можно найти в следующих местах:
ProgramData
Папка скрыта, поэтому введите путь прямо в адресную строку проводника или сделайте скрытую папку видимой.
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
Настройки прав доступа пользователей
Чтобы войти в базу данных MySQL, необходимо указать пользователя, но по умолчанию все пользователи могут получить к ней доступ только локально. Итак, здесь мы установим разрешения для пользователя.
На этот раз я работаю с учетной записью, чтобы root
сохранить шаг добавления учетной записи.
В реальной работе желательно создать отдельную учетную запись пользователя и разрешить подключение к этой учетной записи.
Разрешить подключения можно двумя способами: с помощью команды или с помощью графического интерфейса.
Настройка привилегий доступа пользователей (операции с графическим интерфейсом)
В меню «Пуск» выберите «MySQL -> MySQL Workbench 8.0 CE», чтобы запустить его.
Когда вы запускаете его, в левом нижнем углу есть экземпляр по умолчанию, поэтому выберите его.
У вас будет запрошен пароль, поэтому войдите в систему с учетной записью root.
Выберите вкладку «Администрирование» в меню «Навигатор» слева и выберите «Пользователи и привилегии».
В списке выберите учетную запись, для которой вы хотите изменить разрешения. root
В данном случае мы выбрали учетную запись.
Limit to Hosts Matching
Я думаю, что есть элемент и он установлен по localhost
умолчанию. Это означает, что доступ к нему можно получить только с localhost.
Задайте для этого значения IP-адреса компьютеров, к которым вы хотите разрешить подключения.
Если вы введете обычный режим, только один юнит будет целевым, но если вы хотите выбрать диапазон, вы можете использовать подстановочный знак "%", поэтому, если вы укажете "192.168.0.%", вы разрешите "192.168.0.0" ~ "192.168.0.255".
После ввода вы можете применить его, нажав кнопку «Применить» в правом нижнем углу.
Вы можете видеть, что список пользователей также изменился.
Настройка прав доступа пользователей (команд)
- приложение
- Это не окончательная информация, потому что она находится в области исследования, но в MySQL 8 невозможно изменить хост прав с помощью команды после создания пользователя, поэтому необходимо подтвердить хост во время создания пользователя.
В меню «Пуск» выберите «MySQL -> MySQL 8.0 Command Line Client» и запустите его.
Вам будет предложено ввести пароль, поэтому введите пароль root.
Вы можете просмотреть список пользователей и узлов сети, введя следующую команду:
select user,host from mysql.user;
Чтобы создать пользователя, введите следующую команду: Введите IP-адрес ПК, к которому вы хотите подключиться извне, к «Узлу разрешений». Так как можно использовать подстановочный знак "%", введите "%", чтобы разрешить доступ от всех, и "192.168.0.0" ~ "192.168.0.255", чтобы разрешить "192.168.0.%". Если вы хотите включить "%", заключите его в одинарные кавычки.
create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';
Пример входных данных
create user user1@'192.168.0.%' identified by 'xxxxxxxx';
Мне удалось создать пользователя с помощью приведенной выше команды, но у меня нет никаких привилегий доступа, поэтому я добавляю разрешения с помощью следующей команды.
Типы привилегий включают "ALL [PRIVILEGES]", "CREATE (разрешение на создание баз данных, таблиц и т.д.)" и "SELECT (просмотр записей таблиц)". Пожалуйста, проверьте содержание разрешений на официальном сайте.
Разрешения, которые необходимо установить, могут быть указаны для каждой базы данных или для каждой таблицы. Если вы введете "*.*", вы сможете установить права доступа ко всем базам данных и таблицам.
grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;
Пример входных данных
grant all privileges on *.* to user1@'192.168.0.%';
Чтобы отразить настройки, введите следующую команду:
flush privileges;
Если вы снова проверите список пользователей, вы сможете подтвердить, что он был создан и настроен.
Проверка подключения
Подойдет любой инструмент, который можно подключить извне, но на этот раз мы попробуем подключиться к Workbench, официальному клиенту MySQL.
Запустите Workbench, если он установлен на другом ПК.
Добавьте подключение MySQL.
Введите настройки, необходимые для подключения. Можно использовать DNS-имя, но по каким-то причинам у меня не получилось подключиться к Workbench, поэтому я указал его по IP-адресу.
Если подключение проверено и успешно, можно судить о том, что настройка нормальная.