Настройки, що дозволяють іншим ПК підключатися до баз даних MySQL (версія для Windows)

Сторінка оновлюється :
Дата створення сторінки :

Робоче середовище

MySQL
  • MySQL 8.0
Вікна
  • Вікна 11

Передумови

MySQL
  • MySQL 8.0
Вікна
  • Вікна 11
  • Вікна 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

Передумовою

  • Встановлено MySQL 8

Перевірка брандмауера

У MySQL брандмауер при установці встановлюється на наступному екрані, тому ніяких додаткових параметрів налаштовувати не потрібно.

Про всяк випадок перевірте налаштування брандмауера. Оскільки операція до відображення відрізняється в залежності від версії Windows, введіть «брандмауер» в меню «Пуск», щоб відобразити його.

Виберіть «Додатково» в меню ліворуч.

Якщо ви виберете "Вхідні правила" зліва, то побачите, що до списку додано "Порт 3306" і "Порт 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';

Я зміг створити користувача за допомогою наведеної вище команди, але у мене немає жодних прав доступу, тому я додаю дозволи за допомогою наступної команди.

Типи привілеїв включають «УСІ [ПРИВІЛЕЇ]», «СТВОРИТИ (дозвіл на створення баз даних, таблиць тощо)» та «SELECT (переглянути записи таблиць)». Будь ласка, перевірте вміст дозволів на офіційному веб-сайті.

Дозволи, які потрібно встановити, можна вказувати для кожної бази даних або для кожної таблиці. Якщо ввести «*.*», то можна встановити права доступу для всіх баз даних і таблиць.

grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;

Приклад вхідних даних

grant all privileges on *.* to user1@'192.168.0.%';

Щоб відобразити налаштування, введіть таку команду:

flush privileges;

Якщо ви ще раз перевірите список користувачів, ви зможете підтвердити, що його створено та налаштовано.

Перевірка з'єднання

Підійде будь-який інструмент, який можна підключити ззовні, але цього разу ми спробуємо підключитися до Workbench, офіційного клієнта MySQL.

Запустіть Workbench, якщо він встановлений на іншому ПК.

Додайте з'єднання з MySQL.

Введіть налаштування, необхідні для підключення. Можна використовувати DNS-ім'я, але з якихось причин у мене не вийшло підключитися до Workbench, тому я вказав його за IP-адресою.

Якщо з'єднання перевірено і пройшло успішно, можна судити про те, що настройка нормальна.