Inställningar för att tillåta andra datorer att ansluta till MySQL-databaser (Windows-version)

Sidan uppdaterad :
Datum för skapande av sida :

Omvärld

MySQL (på engelska)
  • MySQL 8.0
Windows
  • Windows 11 (på engelska)

Förutsättningar

MySQL (på engelska)
  • MySQL 8.0
Windows
  • Windows 11 (på engelska)
  • Windows 10 (på engelska)
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

förutsättning

  • MySQL 8 är installerat

Kontrollera brandväggen

I MySQL ställs brandväggen in på följande skärm under installationen, så du behöver inte konfigurera några ytterligare inställningar.

Kontrollera dina brandväggsinställningar för säkerhets skull. Eftersom operationen fram till visningen skiljer sig åt beroende på versionen av Windows, ange "brandvägg" i startmenyn för att visa den.

Välj "Avancerat" i menyn till vänster.

Om du väljer "Regler för inkommande trafik" till vänster kan du se att "Port 3306" och "Port 33060" har lagts till i listan. Detta är vad som lades till i MySQL.

Kontrollera konfigurationsfilen

Tidigare var det nödvändigt att bind-address ändra från konfigurationsfilen, men i den aktuella versionen finns inte det här objektet, så det finns inget behov av att ändra inställningen.

Konfigurationsfilen för MySQL på Windows finns på följande platser: ProgramData Mappen är dold, så ange sökvägen direkt i adressfältet i File Explorer eller ställ in den dolda mappen så att den är synlig.

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

Behörighetsinställningar för användaråtkomst

För att logga in på en MySQL-databas måste du ange en användare, men som standard kan alla användare bara komma åt den lokalt. Så här kommer vi att ställa in behörigheter för användaren.

Jag arbetar på ett konto för att root spara steget för att lägga till konto den här gången. I själva verket är det önskvärt att skapa ett separat användarkonto och tillåta anslutning till det kontot.

Det finns två sätt att tillåta anslutningar: med hjälp av ett kommando eller med hjälp av det grafiska användargränssnittet.

Ställa in användaråtkomstprivilegier (GUI-funktioner)

På Start-menyn väljer du "MySQL -> MySQL Workbench 8.0 CE" för att starta den.

När du startar den finns det en standardinstans i det nedre vänstra hörnet, så välj den.

Du kommer att bli ombedd att ange ett lösenord, så logga in med root-kontot.

Välj fliken Administration på menyn Navigatör till vänster och välj Användare och behörigheter.

I listan väljer du det konto som du vill ändra behörigheter för. root I det här fallet har vi valt ett konto.

Limit to Hosts Matching Jag tror att det finns ett objekt och det är inställt localhost på som standard. Det betyder att den endast kan nås från localhost. Ange det här värdet till IP-adresserna för de datorer som du vill tillåta anslutningar till. Om du anger normalt kommer endast en enhet att vara mål, men om du vill välja ett intervall kan du använda jokertecknet "%", så om du anger "192.168.0.%" tillåter du "192.168.0.0" ~ "192.168.0.255".

När du har angett det kan du använda det genom att klicka på knappen "Apply" längst ner till höger.

Du kan se att användarlistan också har ändrats.

Ställa in användaråtkomstprivilegier (kommandon)

bilaga
Det är inte definitiv information eftersom det ligger inom ramen för forskning, men i MySQL 8 är det inte möjligt att ändra behörighetsvärden med ett kommando efter att användaren har skapats, så det är nödvändigt att bekräfta värden när användaren skapas.

Från Start-menyn väljer du "MySQL -> MySQL 8.0 Command Line Client" och kör den.

Du kommer att bli ombedd att ange ett lösenord, så ange root-lösenordet.

Du kan bläddra i listan över användare och värdar genom att ange följande kommando:

select user,host from mysql.user;

Om du vill skapa en användare anger du följande kommando: Ange IP-adressen för den dator du vill ansluta till externt till "Permission Host". Eftersom jokertecknet "%" kan användas, ange "%" för att tillåta åtkomst från alla och "192.168.0.0" ~ "192.168.0.255" för att tillåta "192.168.0.%". Om du vill inkludera "%" omger du det med enkla citattecken.

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

Exempel på indata

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

Jag kunde skapa en användare med kommandot ovan, men jag har inga åtkomstbehörigheter, så jag lägger till behörigheter med följande kommando.

Behörighetstyperna är "ALL [PRIVILEGES]", "CREATE (behörighet att skapa databaser, tabeller osv.)" och "SELECT (bläddra bland tabellposter)". Kontrollera den officiella webbplatsen för innehållet i behörigheterna.

Behörigheter som ska anges kan anges per databas eller per tabell. Om du anger "*.*" kan du ställa in åtkomstbehörigheter för alla databaser och tabeller.

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

Exempel på indata

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

Om du vill återspegla inställningarna anger du följande kommando:

flush privileges;

Om du kontrollerar användarlistan igen kan du bekräfta att den har skapats och konfigurerats.

Kontroll av anslutning

Alla verktyg som kan anslutas utifrån är bra, men den här gången kommer vi att försöka ansluta till Workbench, den officiella klienten för MySQL.

Starta Workbench om du har det installerat på en annan dator.

Lägg till en MySQL-anslutning.

Ange de inställningar som krävs för anslutningen. Du kan använda ett DNS-namn, men av någon anledning kunde jag inte ansluta till Workbench, så jag angav det med IP-adress.

Om anslutningen kontrolleras och lyckas kan det bedömas att inställningen är normal.