sql >> Database teknologi >  >> RDS >> Mysql

Sådan opsætter og logger du ind som root-bruger i MySQL

En root-konto er en superbrugerkonto, der tilbyder en bred vifte af privilegier i hele MySQL-databaserne. Som standard er den indledende adgangskode for root-kontoen 'tom/tom', hvilket giver adgang til MySQL-serveren som root for alle.

Bemærk: Tom/tom adgangskode betyder, at der ikke er nogen adgangskode; derfor kan alle logge ind, så længe MySQL-privilegier er blevet givet.

Sådan logger du på som root-bruger i Linux:

  1. Vælg startmenuen> Log ud i øverste højre hjørne. Dette giver dig mulighed for at logge ud af den brugerkonto, du bruger i øjeblikket.
  2. Du vil nu se et login-vindue, og det er her, du logger ind med brugernavnet "root" og den adgangskode, du har sat op for root-brugeren. Hvis der er flere brugere i login-vinduet, skal du vælge andre og logge på.

Hvis adgangskoden ikke er konfigureret, eller du har glemt eller har brug for at ændre din MySQL-adgangskode, er nedenfor en guide til, hvordan du opsætter/gendanner adgangskoden.

Sådan opsætter, ændrer og gendanner du en MySQL root-adgangskode

Der er stor mulighed for, at du allerede har MySQL kørende et andet sted i din database. I dette tilfælde kan der komme et tidspunkt, hvor du skal ændre eller konfigurere root-brugeradgangskoden. Dette kan være et resultat af, at du har glemt root-adgangskoden eller blot ønsker at styrke din adgangskode.

Denne proces håndteres via kommandolinjen og fungerer med enten MySQL- eller MariaDB-installationer. Og godt, så længe du har administratoradgang, enten ved at bruge sudo- eller su-syntakser, er den Linux-distribution, du bruger, ligegyldig, da processen ligner.

Bemærk venligst:der har været mange angreb på tværs af IT-landskabet, hvilket har nødvendiggjort meget stærke adgangskoder, som jeg varmt anbefaler til dine databaser. Du kan prøve en usystematisk adgangskodegenerator og derefter gemme adgangskoden ved hjælp af en adgangskodemanager.

Lad os fortsætte.

Indstilling af adgangskoden for første gang

Under installationen af ​​MySQL skal du typisk angive en indledende adgangskode. Men hvis dette ikke blev gjort under installation og opsætning af MySQL, skal du først oprette en adgangskode. Sådan gør du det:

  1. Åbn først et terminalvindue.
  2. Når du har startet terminalen, indsæt og udfør denne kommando:
mysqladmin -u root password Fosslinux

Hvor Fosslinux er adgangskoden, som du vil bruge fra nu af, betyder det, at hver gang du logger på MySQL ved hjælp af kommandoen mysql -u root -p , skal du indtaste den adgangskode, vi lige har konfigureret.

Bemærk: Hvis du støder på følgende fejl:Adgang nægtet for brugeren 'root'@'localhost,' rul ned for at finde løsningen i denne artikel.

Alternativt kan du bruge følgende metode til at konfigurere root-adgangskoden for første gang. Brug kommandoen nedenfor:

mysql_secure_installation

Denne kommando indstiller root-brugeradgangskoden og giver dig mulighed for at slippe af med anonyme brugere og testdatabasen. Derudover vil det også forhindre eksternt root-login. Dette sikrer dig igen konkret sikkerhed til din MySQL-database.

Efter at have konfigureret MySQL root-adgangskoden for første gang, er det tid til at lære, hvordan du ændrer det.

Ændring af MySQL root-brugeradgangskoden

For at ændre MySQL root-adgangskoden skal du følge trinene nævnt heri:

  • Opret først en ny fil ved hjælp af kommandoen nedenfor:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Fosslinux$11';

Hvor Fosslinux$11 er den nye adgangskode, der vil blive brugt. Husk at overholde den nuværende adgangskodepolitik ved at kombinere store, små, numeriske og specialtegn.

Gem filen som ~/mysql-pwd

  • Stop derefter MySQL-dæmonen ved at bruge følgende kommando:
sudo systemctl stop mysql
  • Nu hvor dæmonen er stoppet, udsted og udfør følgende kommando på din terminal:
sudo mysqld -init-file=~/mysql-pwd
  • Så snart kommandoprompten fuldfører udførelse af ovenstående kommando, fortsæt og genstart MySQL-dæmonen ved hjælp af følgende kommando:
sudo systemctl start mysql
  • På dette tidspunkt bør du være i stand til at logge ind på MySQL-kommandoprompten ved hjælp af den nyligt indstillede admin-adgangskode ved at udføre kommandoen nedenfor:
mysql -u root -p

Når en prompt vises, skal du indtaste den administratoradgangskode, du oprettede, og du er klar til at gå.

Nu, hvor vi frugtbart har lært, hvordan man ændrer den nyoprettede MySQL root-adgangskode, er det tid til at lære, hvordan man genskaber en glemt eller mistet MySQL root-adgangskode.

Gendan din MySQL-adgangskode

Nå, lad os sige, at du har glemt din MySQL root brugeradgangskode, og du har desperat brug for at gendanne den. Alt du skal gøre er at følge trinene nævnt heri:

1. Stop MySQL-serverprocessen ved at bruge kommandoen:

sudo service mysql stop

2. Start MySQL-serveren ved at bruge følgende kommando:

sudo mysqld_safe --skip-grant-tables --skip-networking &

3. Opret forbindelse til MySQL-serveren som root-bruger ved hjælp af kommandoen:

mysql -u root

Du bliver bedt om at udstede følgende MySQL-kommandoer, for at du kan nulstille root-adgangskoden efter at have gennemført ovennævnte trin:

mysql> use mysql;

mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';

mysql> flush privileges;

mysql> quit

Bemærk:Glem ikke det NYT PASSWORD henviser til den nye adgangskode, du vil bruge til at logge ind som root-bruger.

Når du er færdig med at køre alle kommandoerne nævnt ovenfor, skal du fortsætte og genstarte MySQL-dæmonen ved at bruge denne kommando:

sudo service mysql restart

Nu skulle du være i stand til at logge ind på MySQL ved hjælp af den nyindstillede adgangskode.

Det er alt. Vi mener, at du nu er i stand til at indstille, nulstille og gendanne din MySQL root-adgangskode.

Et vigtigt punkt at bemærke: Husk at indstille en meget stærk adgangskode til MySQL root-brugeren. En adgangskode, der er svær at knække. Dette vil øge sikkerheden i dine databaser. Som du allerede ved, rummer databaser meget følsomme data, så det sidste du ønsker er, at alle kan få adgang til dine oplysninger uden dit samtykke. Brug af en lang adgangskode og dem, der ikke let kan huskes og gættes, anbefales stærkt. Hvis du bruger en adgangskodegenerator til at oprette din adgangskode, skal du huske at gemme den i en adgangskodeboks.

Mens du bruger MySQL, kan du blive så flov, hvis du støder på fejlmeddelelser. For eksempel klager de fleste brugere over at få denne fejlmeddelelse:Adgang nægtet for brugeren root@localhost. Det er måske ikke særlig behageligt, men vi har en løsning til dig.

Sådan løses MySQL-fejlen:Adgang nægtet for brugeren root@localhost

Denne fejlmeddelelse vises normalt for nye installationer af MySQL, når du forsøger at oprette forbindelse til MySQL med root-brugeren.

Her er, hvordan du hurtigt løser adgangen nægtet for brugerens root på localhost. De skitserede trin kan bruges til både MySQL og MariaDB. Du behøver ikke at foretage ændringer i nogen tabeller eller udføre komplekse konfigurationer.

Som vi allerede har set i denne artikel, når du installerer MySQL og ønsker at få adgang til det på den lokale maskine med root-brugeren, bruger du følgende kommando:

mysql -u root -p

I de fleste tilfælde vil du modtage den fejlmeddelelse, vi lige har nævnt:"Adgang nægtet for bruger root@localhost."

For at du kan logge ind på MySQL som root, skal du først bruge sudo til at lave ændringer til root-brugeren:

sudo mysql

Indtast derefter din adgangskode ved prompten. En MySQL-skal indlæses.

Brug kommandoen ALTER USER og skift godkendelsesmetoden for at logge på MySQL som root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';

Eksempel:

Af hensyn til vejledningen vil jeg ændre adgangskoden til 'Fosslinux som vist på kommandolinjen og output nedenfor:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fosslinux';

Output

Hvad ovenstående kommandolinje gør, er, at den ændrer adgangskoden for brugerroden og indstiller godkendelsesmetoden til mysql_native_password . Dette er en traditionel godkendelsesmetode. Desværre opstår fejlen ovenfor i de fleste tilfælde, da den anvendte godkendelsestilstand er auth_plugin som ikke er sikkert, altså fejlen.

Bemærk: Mens du indtaster din ønskede adgangskode, skal du sørge for, at den følger reglerne for adgangskoden, en kombination af store og små bogstaver plus tal, hvis du har til hensigt at indtaste en stærkere adgangskode.

Efter at have kørt kommandoerne ovenfor, skal du afslutte MySQL-skallen ved at klikke på CTRL + D på dit tastatur eller indtaste "exit" på MySQL-skallen og klikke på Enter. Du behøver ikke at genstarte MySQL-tjenesten for at logge på ved hjælp af kommandoen nedenfor:

sudo service mysql restart 

På dette tidspunkt kan du nu forsøge at få adgang til MySQL med root igen. Indtast:

i terminalen
mysql -u root -p

Indtast den adgangskode, du brugte med ALTER USER-kommandoen, og indtast ikke systemadgangskoden for at forsøge at få adgang til MySQL, fordi den ikke virker. Du skulle nu se MySQL-velkomstbeskeden, hvis det hele gik godt.

Bemærk venligst:ALTER USER-kommandoen fungerer muligvis ikke for versionerne af MySQL og MariaDB, der er ældre end henholdsvis 5.7.6 og 10.1.20.

Sammenfattende, nu er du i stand til at omgå MySQL-FEJL 1698 (28000):Adgang nægtet for bruger 'root'@'localhost'. Der er forskellige måder at omgå denne fejl på, men vi brugte den meget enklere og hurtigere metode. Sørg for at indtaste kommandoerne som angivet i denne artikel for at undgå fejl i SQL-syntaks. Det er mere tilrådeligt at kopiere og indsætte dem.

Konklusion

Denne artikel forklarer og nedbryder alle emner relateret til root-brugerlogin i MySQL. Det viser dig ikke kun, hvordan du logger ind som root-bruger i MySQL, men det viser dig også, hvordan du sikrer, at du gør det uden at støde på fejl, og hvordan du omgår den mest almindelige fejl, hvis den opstår.

Artiklen nedbryder yderligere trinene til at opsætte, ændre og gendanne en MySQL root-adgangskode og opsætte root-adgangskoden for første gang. Sørg for at holde dig til alle processerne i denne artikel for at undgå sikkerhedsbrud ved at bruge stærke adgangskodekombinationer. Vi håber, at artiklen vil være nyttig. Hvis ja, så giv en thumbs up via kommentarfeltet.


  1. Sådan fremskyndes masseindsættelse til MS SQL Server ved hjælp af pyodbc

  2. MySQL automatisk caste/konvertere en streng til et tal?

  3. Postgres trigger-baseret omdirigering af indsats uden at bryde RETURNING

  4. En oversigt over den nye DBaaS fra MariaDB - SkySQL