Настройки, що дозволяють іншим ПК підключатися до баз даних 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-адресою.
Якщо з'єднання перевірено і пройшло успішно, можна судити про те, що настройка нормальна.