Instellingen om andere pc's toe te staan verbinding te maken met MySQL-databases (Windows-versie)

Pagina bijgewerkt :
Aanmaakdatum van pagina :

Werkomgeving

Mijn SQL
  • MySQL 8.0
Ramen
  • Vensters 11

Voorwaarden

Mijn SQL
  • MySQL 8.0
Ramen
  • Vensters 11
  • Vensters 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

voorwaarde

  • MySQL 8 is geïnstalleerd

De firewall controleren

In MySQL wordt de firewall tijdens de installatie op het volgende scherm ingesteld, zodat u geen extra instellingen hoeft te configureren.

Controleer uw firewall-instellingen voor het geval dat. Aangezien de werking tot weergave verschilt afhankelijk van de versie van Windows, voert u "firewall" in het startmenu in om het weer te geven.

Selecteer "Geavanceerd" in het menu aan de linkerkant.

Als u "Inkomende regels" aan de linkerkant selecteert, kunt u zien dat "Poort 3306" en "Poort 33060" aan de lijst zijn toegevoegd. Dit is wat er in MySQL is toegevoegd.

Controle van het configuratiebestand

Voorheen was het nodig om het configuratiebestand te bind-address wijzigen, maar in de huidige versie bestaat dit item niet, dus het is niet nodig om de instelling te wijzigen.

Het configuratiebestand voor MySQL op Windows is te vinden op de volgende locaties: ProgramData De map is verborgen, dus voer het pad rechtstreeks in de adresbalk van Verkenner in of stel in dat de verborgen map zichtbaar is.

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

Instellingen voor toegangsrechten voor gebruikers

Om in te loggen op een MySQL-database, moet u een gebruiker opgeven, maar standaard hebben alle gebruikers er alleen lokaal toegang toe. Dus hier zullen we machtigingen voor de gebruiker instellen.

Ik werk op een account om deze keer de stap voor het toevoegen van een account op te root slaan. In de praktijk is het wenselijk om een apart gebruikersaccount aan te maken en verbinding met dat account toe te staan.

Er zijn twee manieren om verbindingen toe te staan: door een commando te gebruiken of door de GUI te gebruiken.

Gebruikerstoegangsrechten instellen (GUI-bewerkingen)

Selecteer in het menu Start "MySQL -> MySQL Workbench 8.0 CE" om het te starten.

Wanneer u het start, is er een standaardinstantie in de linkerbenedenhoek, dus selecteer deze.

U wordt om een wachtwoord gevraagd, dus log in met het root-account.

Selecteer het tabblad Beheer in het menu Navigator aan de linkerkant en selecteer Gebruikers en bevoegdheden.

Selecteer in de lijst het account waarvoor u de machtigingen wilt wijzigen. root In dit geval hebben we een account geselecteerd.

Limit to Hosts Matching Ik denk dat er een item is en dat het standaard is ingesteld localhost . Dit betekent dat het alleen toegankelijk is vanaf localhost. Stel deze waarde in op de IP-adressen van de pc's waarmee u verbindingen wilt toestaan. Als u normaal invoert, wordt slechts één eenheid getarget, maar als u een bereik wilt selecteren, kunt u het jokerteken "%" gebruiken, dus als u "192.168.0.%" opgeeft, staat u "192.168.0.0" ~ "192.168.0.255" toe.

Eenmaal ingevoerd, kunt u het toepassen door rechtsonder op de knop "Toepassen" te klikken.

U kunt zien dat de gebruikerslijst ook is gewijzigd.

Gebruikerstoegangsrechten instellen (opdrachten)

aanvulling
Het is geen definitieve informatie omdat het binnen het bereik van onderzoek valt, maar in MySQL 8 is het niet mogelijk om de machtigingshost te wijzigen met een opdracht nadat de gebruiker is gemaakt, dus het is noodzakelijk om de host te bevestigen op het moment dat de gebruiker wordt gemaakt.

Selecteer in het menu Start "MySQL -> MySQL 8.0 Command Line Client" en voer het uit.

U wordt om een wachtwoord gevraagd, dus voer het root-wachtwoord in.

U kunt door de lijst met gebruikers en hosts bladeren door de volgende opdracht in te voeren:

select user,host from mysql.user;

Voer de volgende opdracht in om een gebruiker aan te maken: Voer het IP-adres in van de pc waarmee u extern verbinding wilt maken met de "Permission Host". Aangezien het jokerteken "%" kan worden gebruikt, voert u "%" in om toegang van iedereen toe te staan, en "192.168.0.0" ~ "192.168.0.255" om "192.168.0.%" toe te staan. Als u '%' wilt opnemen, plaatst u deze tussen enkele aanhalingstekens.

create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';

Voorbeeld invoer

create user user1@'192.168.0.%' identified by 'xxxxxxxx';

Ik was in staat om een gebruiker aan te maken met de bovenstaande opdracht, maar ik heb geen toegangsrechten, dus ik voeg machtigingen toe met de volgende opdracht.

De soorten bevoegdheden zijn onder meer 'ALLE [PRIVILEGES]', 'CREATE (machtiging om databases, tabellen, enz. te maken)' en 'SELECT (bladeren door tabelrecords)'. Kijk op de officiële website voor de inhoud van de machtigingen.

Machtigingen die moeten worden ingesteld, kunnen per database of per tabel worden opgegeven. Als u "*.*" invoert, kunt u toegangsrechten instellen voor alle databases en tabellen.

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

Voorbeeld invoer

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

Voer de volgende opdracht in om de instellingen weer te geven:

flush privileges;

Als u de gebruikerslijst opnieuw controleert, kunt u bevestigen dat deze is gemaakt en geconfigureerd.

Controle van de verbinding

Elke tool die van buitenaf kan worden aangesloten, is prima, maar deze keer zullen we proberen verbinding te maken met Workbench, de officiële client van MySQL.

Start Workbench als u het op een andere pc hebt geïnstalleerd.

Voeg een MySQL-verbinding toe.

Voer de instellingen in die nodig zijn voor de verbinding. Je kunt een DNS-naam gebruiken, maar om de een of andere reden kon ik geen verbinding maken met Workbench, dus heb ik het opgegeven op basis van het IP-adres.

Als de verbinding is gecontroleerd en tot stand is gebracht, kan worden geoordeeld dat de instelling normaal is.