En af mine klienter kontaktede mig for et forbundet serverproblem mellem SQL Server og MySQL Server. Da jeg mest arbejder med SQL Server, var det sjovt at installere og forbinde MySQL Server. Mens jeg prøvede at simulere problemet, og jeg ønskede at oprette en forbundet server. I denne blog vil vi lære, hvordan man løser MySQL-forbindelsesfejl [MySQL][ODBC 5.3(w) Driver]Værten 'IP' har ikke tilladelse til at oprette forbindelse til denne MySQL-server.
Jeg installerede MySQL Server på en server og angav root-brugerens adgangskode. Da jeg prøvede at oprette forbindelse til MySQL Server ved hjælp af ODBC.
Så snart jeg klikkede på testen, ser jeg fejlen nedenfor.
IP-adressen nævnt i fejlmeddelelsen er IP-adressen for den klient, som forsøger at oprette forbindelse. Tekstbeskeden er som følger:
Forbindelse mislykkedes
[MySQL][ODBC 5.3(w) Driver]Værten 'IP' har ikke tilladelse til at oprette forbindelse til denne MySQL-server:
Jeg har aldrig set denne fejl, mens jeg arbejdede med SQL Server, så jeg havde ingen idé om denne fejl. Da jeg undersøgte, lærte jeg nedenfor.
Som standard tillader MySQL ikke fjernklienter at oprette forbindelse til MySQL-databasen.
Den hurtigste måde at bekræfte det på er som nedenfor. Hvis vi tjekker mysql.user-tabel, er der en indgang for bruger 'root' med vært 'localhost'.
Så vi skal give tilladelse til at oprette forbindelse til MySQL Server til en klient.
LØSNING/LØSNING
Først skal du sikre dig, at det ikke er et firewallproblem.
Som vi diskuterede tidligere, er det et problem med tilladelser. Vi kan derefter give tilladelse ved at bruge kommandoen.
Use mysql; GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';
Du kan også bruge MySQL Workbench til at gøre det. Nedenstående skærmbillede fortæller de trin, der skal følges. Samme som kommandoen skal vi give brugernavn, adgangskode og IP på den grafiske skærm.
Håber denne blog vil hjælpe. Efter ovenstående ændringer, når du forsøger at oprette forbindelse til mysql-databasen fra denne fjernklient (vi har givet IP/værtsnavnet), bør du ikke længere få fejlmeddelelsen "Værten har ikke tilladelse til at oprette forbindelse til denne MySQL-server". Vi kan også bruge % til at tillade alle værter, men jeg foretrækker ikke den mulighed.
Jeg er ikke MySQL-ekspert, så du er velkommen til at kommentere og fortælle mig, hvis der er bedre måder.