Ved hjelp av denne guiden vil du oppdage tre metoder for å løse denne feilen.”
Hva betyr denne feilen?
Den beste måten å forstå denne feilen er å dele den ned i enkeltkomponenter. Denne feilen oppstår når du prøver å logge inn i MySQL -forekomsten på din lokale maskin, derav 'localhost.'
Et eksempel er som vist:
$ mysql -u root -pKomponentene i feilen er som følger:
Merk: Den første %s i feilmeldingen refererer til brukernavnet, mens den andre refererer til verten.
Løsning 1: sudo til mysql
Den første og vanligste metoden for å løse denne feilen er å sudo inn i mysql -forekomsten og sette autht_plugin til mysql_native_password.
Åpne terminalen og løp:
$ sudo mysqlSkriv inn passordet for kontoen og fortsett.
Deretter endrer du Auth_plugin og angir et nytt passord for rotkontoen som vist:
Endre brukeren 'root@localhost' identifisert med mysql-native_password med 'passord';Endring av autentiseringsplugin lar deg logge på serveren din.
Deretter kan du skylle privilegiene å oppdatere tilskuddstabellene:
Spyle privilegier;Til slutt, gå ut av terminalen og prøv påloggingen din:
$ mysql -u root -pLøsning 2- Rediger konfigurasjonsfilen manuelt
Hvis feilen vedvarer, kan det hende du må redigere MySQL -konfigurasjonsfilen. I de fleste tilfeller er det under navnet min.CNF i /etc eller /etc /mysql kataloger.
Finn denne filen i MySQL -installasjonsmappen for Windows og Mac -brukere.
Hvis filen ikke eksisterer, oppretter du den.
Åpne filen med tekstredigereren din og finn MySQLD -blokken.
$ nano/etc/mysql/min.CNFUnder [MySQLD] -blokken, legg til følgende oppføring.
Skip-graders-bordLukk og lagre filen.
Deretter start MySQL -serveren på nytt og logger inn.
$ sudo service mysql omstartNår du er logget inn, skyller du privilegiene og angir et nytt passord:
Spyle privilegier;Forsikre deg om å erstatte kommandoen ovenfor med et sikkert passord.
Når den er fullført, rediger min.CNF -fil og fjern oppføringen vi la til tidligere.
Start MySQL -serveren på nytt og logger på med det nye passordet ditt.
Løsning 3 - Start MySQL i sikker modus
MySQL gir deg MySQLD_SAFE -verktøyet for å starte MySQL -serveren. Dette verktøyet lar oss spesifisere sikre funksjoner når vi starter og starter serveren for å diagnostisere feil.
Begynn med å stoppe MySQL -serveren.
$ sudo service mysql stoppNeste, start MySQL uten autentisering som;
$ mysqld_safe---skip-graders-bord ogKommandoen vil starte serveren i bakgrunnen som en jobb.
Når demonen kjører (med autentisering deaktivert), åpner du en ny terminal og kjør:
$ mysql -u root -pKommandoen over skal tillate deg å logge inn uten passord.
Når du er logget inn, skyller du privilegiene og angir et nytt passord som:
Spyle privilegier;Lukk økten og start MySQL på nytt.
Logg deg på serveren din med det nye passordet ditt.
Lukking
I denne artikkelen dekket vi tre hovedmetoder for å løse
"MySQL Access nektet for brukeren 'root@localhost'".Vi håper denne opplæringen hjalp deg med å løse denne feilen.