Настройки, позволяващи на други компютри да се свързват с MySQL бази данни (версия за Windows)
Работна среда
- МиШЛЛ
-
- MySQL 8.0
- Уиндоус
-
- Прозорци 11
Предпоставки
- МиШЛЛ
-
- MySQL 8.0
- Уиндоус
-
- Прозорци 11
- Прозорци 10
- Сървър на Windows
-
- 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
запазя стъпката за добавяне на акаунт.
При реална работа е желателно да се създаде отделен потребителски акаунт и да се позволи връзка с този акаунт.
Има два начина за разрешаване на връзки: с помощта на команда или с помощта на GUI.
Задаване на привилегии за потребителски достъп (GUI операции)
От менюто "Старт" изберете "MySQL -> MySQL Workbench 8.0 CE", за да го стартирате.
Когато го стартирате, в долния ляв ъгъл има екземпляр по подразбиране, така че го изберете.
Ще бъдете помолени за парола, така че влезте с коренния акаунт.
Изберете раздела Администрация от менюто Навигатор вляво и изберете Потребители и привилегии.
В списъка изберете акаунта, за който искате да промените разрешенията. 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" и го стартирайте.
Ще бъдете подканени за парола, така че въведете коренната парола.
Можете да прегледате списъка с потребители и хостове, като въведете следната команда:
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 (browse table records)". Моля, проверете официалния уебсайт за съдържанието на разрешенията.
Разрешенията, които трябва да бъдат зададени, могат да бъдат зададени на база данни или на база таблица. Ако въведете "*.*", можете да зададете разрешения за достъп за всички бази данни и таблици.
grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;
Примерен вход
grant all privileges on *.* to user1@'192.168.0.%';
За да отразите настройките, въведете следната команда:
flush privileges;
Ако проверите списъка с потребители отново, можете да потвърдите, че е създаден и конфигуриран.
Проверка на връзката
Всеки инструмент, който може да бъде свързан отвън, е добре, но този път ще се опитаме да се свържем с Workbench, официалният клиент на MySQL.
Стартирайте Workbench, ако сте го инсталирали на друг компютър.
Добавяне на MySQL връзка.
Въведете настройките, необходими за връзката. Можете да използвате DNS име, но по някаква причина не можах да се свържа с Workbench, затова го зададох по IP адрес.
Ако връзката е проверена и успешна, може да се прецени, че настройката е нормална.