Når du arbeider med MySQL DBMS, er det ekstremt viktig å vite hvordan du endrer brukerpassordet. Det ser ut til at denne oppgaven bare kan løses hvis du har superbrukerrettigheter. Men selv en vanlig bruker kan endre passordet under visse omstendigheter. I denne artikkelen vil vi fortelle deg hvordan du gjør det under normale omstendigheter.
Du kan endre en brukers passord på forskjellige måter. I MySQL-miljøet finnes det to kommandoer for denne oppgaven - SET PASSWORD
og ALTER USER
. La oss fortelle deg om hver av disse to metodene i detalj.
I begynnelsen av dette året har MySQL to hovedversjoner. Den første er utdatert, men støttes fortsatt (det er versjon 5.7), og den mest aktuelle for øyeblikket er versjon 8.0. Hvordan finner du ut MySQL-versjonen? Du kan gjøre dette med en spesiell kommando, som bør utføres i terminalen:
$ mysql –version
Som du kan se fra bildet ovenfor, brukes versjon 8.0.28, men det er viktig å ta hensyn til at ALTER USER
bare er relevant i tidligere versjoner av MySQL.
For å gå inn i konsollen må du logge deg på MySQL med innlogging og passord. Når en bruker allerede er autorisert på serveren, bør du utføre alle handlinger på vegne av denne brukeren. Når MySQL brukes for første gang, bør du bruke root-rettigheter.
Kommandoen for å logge inn som root:
$ mysql -u root –p
Etter det vil du bli bedt om å oppgi passord. Det gjenstår å skrive inn passordet, trykk på Enter-tasten, umiddelbart etter at MySQL-grensesnittet med alle tilgjengelige kommandoer vil bli lastet inn.
Det særegne med MySQL er at den har en egen vert som en konto er bundet til. La oss merke oss de tre hovedvertene:
Localhost tillater kun lokal pålogging uten ekstern tilkobling, % betyr at kontoen kan brukes fra hvilken som helst vert, og IP-adresse/domenenavn betyr at kontoen kun kan brukes på det valgte domenenavnet/IP-adressen.
For å finne ut hvilken vertstype kontoen har, må vi kjøre følgende SQL-spørring:
$ SELECT user, host FROM mysql.user
I skjermbildet ovenfor ser vi at alex-brukeren har en host på %. Denne host-typen skal brukes når du endrer passordet. Brukere i MySQL og all informasjon om brukere lagres i mysql-databasen i tabellen user.
Du kan også endre passordet med SET PASSWORD-kommandoen
. Hvis du vil endre passordet for brukeren alex med host % til somepassword666, må du bruke følgende kommando:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Du kan endre brukerkoden ved hjelp av en annen kommando - ALTER US
ER. For å endre passordet for brukeren alex med host % til anotherpassword666 skal vi kjøre en SQL-spørring:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Vær oppmerksom på at brukernavn og host er omsluttet av enkle anførselstegn, uten disse anførselstegnene vil MySQL ikke kunne gjenkjenne strengen.
Tilbakestill nå privilegiebufferen:
$ FLUSH PRIVILEGES;
Når du har endret passordet, endret rettighetene og tilbakestilt hurtigbufferen, bør du utføre en påloggingsverifisering som brukeren som fikk endret passordet.
Avslutt MySQL-skallet ved å utføre exit-kommandoen
:
$ exit
Logg deg nå inn på skallet:
$ mysql -u alex -p
Hvis du ser systemmeldingen mens du logger inn, har du gjort alt riktig, noe som betyr at passordet ble endret.