Ustawienia umożliwiające innym komputerom łączenie się z bazami danych MySQL (wersja dla systemu Windows)
Środowisko pracy
- Baza danych MySQL
-
- MySQL 8.0
- Windows
-
- Okna 11
Warunki wstępne
- Baza danych MySQL
-
- MySQL 8.0
- Windows
-
- Okna 11
- Okna 10
- Serwer z systemem Windows
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
Warunek wstępny
- MySQL 8 jest zainstalowany
Sprawdzanie zapory sieciowej
W MySQL zapora sieciowa jest ustawiana na następnym ekranie podczas instalacji, więc nie musisz konfigurować żadnych dodatkowych ustawień.
Na wszelki wypadek sprawdź ustawienia zapory. Ponieważ operacja do wyświetlenia różni się w zależności od wersji systemu Windows, wpisz "zapora ogniowa" w menu Start, aby ją wyświetlić.
Wybierz "Zaawansowane" z menu po lewej stronie.
Jeśli wybierzesz "Reguły ruchu przychodzącego" po lewej stronie, zobaczysz, że "Port 3306" i "Port 33060" zostały dodane do listy. To jest to, co zostało dodane w MySQL.
Sprawdzanie pliku konfiguracyjnego
Wcześniej konieczna bind-address
była zmiana z pliku konfiguracyjnego, ale w obecnej wersji ten element nie istnieje, więc nie ma potrzeby zmiany ustawienia.
Plik konfiguracyjny programu MySQL w systemie Windows można znaleźć w następujących lokalizacjach:
ProgramData
Folder jest ukryty, więc wprowadź ścieżkę bezpośrednio w pasku adresu Eksploratora plików lub ustaw ukryty folder tak, aby był widoczny.
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
Ustawienia uprawnień dostępu użytkownika
Aby zalogować się do bazy danych MySQL, musisz określić użytkownika, ale domyślnie wszyscy użytkownicy mają do niego dostęp tylko lokalnie. Więc tutaj ustawimy uprawnienia dla użytkownika.
Tym razem operuję na koncie, aby root
zapisać krok dodawania konta.
W rzeczywistości pożądane jest utworzenie oddzielnego konta użytkownika i umożliwienie połączenia z tym kontem.
Istnieją dwa sposoby zezwalania na połączenia: za pomocą polecenia lub za pomocą graficznego interfejsu użytkownika.
Ustawianie uprawnień dostępu użytkownika (operacje GUI)
Z menu Start wybierz "MySQL -> MySQL Workbench 8.0 CE", aby go uruchomić.
Po uruchomieniu w lewym dolnym rogu znajduje się domyślna instancja, więc wybierz ją.
Zostaniesz poproszony o podanie hasła, więc zaloguj się na konto root.
Wybierz kartę Administracja z menu Nawigator po lewej stronie, a następnie wybierz Użytkownicy i uprawnienia.
Z listy wybierz konto, dla którego chcesz zmienić uprawnienia. root
W tym przypadku wybraliśmy konto.
Limit to Hosts Matching
Wydaje mi się, że jest element i jest ustawiony domyślnie localhost
. Oznacza to, że można uzyskać do niego dostęp tylko z hosta lokalnego.
Ustaw tę wartość na adresy IP komputerów, z którymi chcesz zezwolić na połączenia.
Jeśli wprowadzisz normalnie, tylko jedna jednostka będzie celem, ale jeśli chcesz wybrać zakres, możesz użyć symbolu wieloznacznego "%", więc jeśli określisz "192.168.0.%", zezwolisz na "192.168.0.0" ~ "192.168.0.255".
Po wprowadzeniu możesz go zastosować, klikając przycisk "Zastosuj" w prawym dolnym rogu.
Widać, że zmieniła się również lista użytkowników.
Ustawianie praw dostępu użytkowników (polecenia)
- dodatek
- Nie jest to ostateczna informacja, ponieważ mieści się w zakresie badań, ale w MySQL 8 nie ma możliwości zmiany hosta uprawnień za pomocą polecenia po utworzeniu użytkownika, dlatego konieczne jest potwierdzenie hosta w momencie tworzenia użytkownika.
Z menu Start wybierz "MySQL -> MySQL 8.0 Command Line Client" i uruchom go.
Zostaniesz poproszony o podanie hasła, więc wprowadź hasło roota.
Możesz przeglądać listę użytkowników i hostów, wprowadzając następujące polecenie:
select user,host from mysql.user;
Aby utworzyć użytkownika, wprowadź następujące polecenie: Wprowadź adres IP komputera, z którym chcesz połączyć się zewnętrznie z "Hostem uprawnień". Ponieważ można użyć symbolu wieloznacznego "%", wprowadź "%", aby zezwolić na dostęp ze wszystkich, i "192.168.0.0" ~ "192.168.0.255", aby zezwolić na "192.168.0.%". Jeśli chcesz dołączyć znak "%", umieść go w pojedynczym cudzysłowie.
create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';
Przykładowe dane wejściowe
create user user1@'192.168.0.%' identified by 'xxxxxxxx';
Udało mi się utworzyć użytkownika za pomocą powyższego polecenia, ale nie mam żadnych uprawnień dostępu, więc dodaję uprawnienia za pomocą następującego polecenia.
Typy uprawnień to "WSZYSTKIE [UPRAWNIENIA]", "TWORZENIE (uprawnienie do tworzenia baz danych, tabel itp.)" oraz "SELECT (przeglądanie rekordów tabel)". Sprawdź oficjalną stronę internetową, aby zapoznać się z treścią uprawnień.
Uprawnienia, które mają zostać ustawione, można określić dla poszczególnych baz danych lub tabel. Jeśli wpiszesz "*.*", możesz ustawić uprawnienia dostępu dla wszystkich baz danych i tabel.
grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;
Przykładowe dane wejściowe
grant all privileges on *.* to user1@'192.168.0.%';
Aby odzwierciedlić ustawienia, wprowadź następujące polecenie:
flush privileges;
Jeśli ponownie sprawdzisz listę użytkowników, możesz potwierdzić, że została ona utworzona i skonfigurowana.
Sprawdzenie połączenia
Każde narzędzie, które można podłączyć z zewnątrz, jest w porządku, ale tym razem spróbujemy połączyć się z Workbench, oficjalnym klientem MySQL.
Uruchom aplikację Workbench, jeśli jest zainstalowana na innym komputerze.
Dodaj połączenie MySQL.
Wprowadź ustawienia wymagane do połączenia. Możesz użyć nazwy DNS, ale z jakiegoś powodu nie mogłem połączyć się z Workbench, więc podałem ją za pomocą adresu IP.
Jeśli połączenie zostało sprawdzone i powiodło się, można ocenić, że ustawienie jest normalne.