MySQL er et af de mest populære databasestyringssystemer til webapplikationer. MySQL har en root-adgangskode eller en adgangskode på adminniveau, ligesom mange webtjenester. Root-adgangskoderne tillader brugere at udføre enhver funktion på øverste niveau i en database.
Mens du opsætter MySQL, anbefales det, at du opsætter en root-adgangskode til din database af sikkerhedsrelaterede problemer. Det betyder dog ikke, at du ikke kan bruge MySQL uden en root-adgangskode. Det er op til dig at tænke over den aktuelle opgave og beslutte, om du vil oprette en root-adgangskode eller ej.
Nulstilling af MySQL root-adgangskode
Der er masser af spørgsmål stillet af MySQL-brugere om "Sådan nulstiller du MySQL root-adgangskode." Hvis du havde oprettet en root-adgangskode, men desværre mistede overblikket over den, vil denne artikelvejledning guide dig gennem processen med at nulstille root-adgangskoden både på Linux og Windows.
Forudsætninger
- Eksisterende MySQL-database
- Administratorrettigheder på den pc, der hoster MySQL-databasen
- Adgang til Windows- eller Linux-server, der kører MySQL
- Kommandolinjegrænseflade eller terminaladgang
- En teksteditor. (Bare rolig, da Windows-brugere har Notepad installeret som standard på deres computere, mens Linux-brugere har vim forudinstalleret).
Når du har alle de nævnte forudsætninger, lad os gå videre og lære, hvordan du nulstiller eller ændrer MySQL root-adgangskoden.
Vi vil gøre denne proces på to fronter:
- Sådan nulstiller du MySQL root-adgangskoden i Linux
- Sådan nulstiller du MySQL root-adgangskoden i Windows
1. Sådan nulstiller du MySQL root-adgangskode i Linux
Trin 1:Log ind på MySQL
Når du starter op i dit Linux-operativsystem, er det vigtigt at logge på den samme bruger, som normalt kører MySQL. Dette er afgørende for at undgå fejl, såsom at oprette filer, der ejes af root-brugeren, hvilket kan forårsage skade på dit system. Du kan dog lige så godt logge ind som root-bruger, når du starter din MySQL-server. For at gøre dette skal du sørge for at starte MySQL ved hjælp af syntaksen nedenfor.
user=fosslinux
Trin 2:Find .pid-filen, der bruges af MySQL-tjenesten
Det næste trin er at finde .pid-filen. I de fleste Linux-systemer er de gemt på denne placering:
/var/lib/mysql or /var/run/mysqld/ or /usr/local/mysql/data/.
Da ikke alle Linux-systemer er ens, kan du prøve en af de ovenfor nævnte stier og se, om du kan finde filen. For hurtigt at finde filen kan du indsnævre din søgning til filer, der starter med mysqld (eller dit værtsnavn) og slutter med .pid.
Bemærk: Søgning i filen vil forenkle processen; derfor anbefaler vi, at du prøver det.
Når du har fundet filen, skal du fortsætte til næste trin
Trin 3:Aflivning af mysqld / .pid-processen
Før vi nulstiller eller opretter en ny root-adgangskode, skal vi først stoppe MySQL-serveren. Dette kan gøres ved at åbne terminalen og udføre kommandolinjen nedenfor:
kill `cat /mysql-data-directory/host_name.pid`
Bemærk: Erstat mysql-data-directory/host_name.pid med det filnavn, vi fandt i trin 2. Det er også vigtigt at specificere hele filstien for at undgå at få fejl.
Yderligere tip: Sørg altid for at bruge back-tick-tasten i stedet for et enkelt anførselstegn. Back-tick-tasten er placeret over tabulatortasten på de fleste computere og før den ene num-tast.
Trin 4:Oprettelse af en ny root-adgangskodefil
Nu er det tid til at åbne din foretrukne teksteditor. I vores tilfælde skal vi bruge Vim-teksteditoren. Åbn terminal ved hjælp af genvejen CTRL + ALT + T, og kør derefter kommandoen nedenfor:
sudo vim mysql-init
Bemærk:hvis du får en fejl efter at have kørt kommandoen ovenfor, skal du udføre denne kommando for at fortsætte med de andre processer:
sudo apt install vim
Tilføj nu linjen nedenfor i filen:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Bemærk: Når du manuelt indtaster linjen ovenfor i terminalen, skal du huske at inkludere alle semikoloner og anførselstegn. Erstat også "NewPassword ” sætning med den nye adgangskode, du vil bruge. Sørg endelig for, at du bruger en stærk og sikker adgangskode, eller se her for at lære, hvordan du genererer en stærk tilfældig adgangskode på Linux.
Ovenstående kommando vil kun virke på den værtsmaskine, du bruger, når du kører kommandoen. Men hvis du planlægger at oprette forbindelse til et andet system, anbefales det at erstatte den lokale vært med det relevante eller rettere passende værtsnavn for at kommandoen skal virke. Hvis du undlader at gøre det, vil du støde på fejl.
Når du har tilføjet den nye fil til din teksteditor, skal du gemme den i:
home/mysql-init.
Trin 5:Genstart af MySQL-serveren og anvendelse af den nyoprettede adgangskode
Det er tid til at anvende de ændringer, vi har lavet til vores nyoprettede adgangskode. Først skal vi genstarte MySQL-serveren ved at udføre kommandoen nedenfor i terminalen:
mysqld --init-file=/home/mysql-init &
Denne kommando vil starte MySQL og anvende den tekstfil-adgangskode, vi oprettede i det forrige trin. Afhængigt af den metode, du bruger til at starte din server, kan du blive bedt om at tilføje andre muligheder såsom –defaults-file før init-kommandoen.
Når du har anvendt den nyoprettede adgangskode og genstartet MySQL-serveren, er det tid til at rydde op. Vi skal gøre dette ved at logge ind på din MySQL-server som root-bruger og kontrollere, at den adgangskode, vi oprettede, faktisk virker. Når du har bekræftet, at filen fungerer godt, skal du fortsætte og slette den fil, vi oprettede i trin 4 ovenfor.
2. Sådan nulstiller du MySQL root-adgangskode i Windows
Hvis du er en Windows-bruger og ville elske at lære, hvordan du nulstiller din MySQL root-adgangskode på Windows, så læs denne artikel til slutningen.
Trin 1:Stop af MySQL-serveren.
Før du stopper MySQL-serveren, skal du kontrollere, at du er logget ind som administrator.
- Tryk på Win + R-tasterne på vinduer for at starte dialogboksen Kør af typen:
services.msc
- Klik derefter på OK.
- Rul ned gennem listen over tjenester, og find MySQL-tjenesten. Højreklik på den, og vælg derefter indstillingen Stop som vist på billedet nedenfor:
Trin 2:Åbn din foretrukne teksteditor
Til illustrationsformål skal vi bruge standard Notepad-teksteditor. Du skal dog ikke flippe ud, hvis du har en anden teksteditor, da processerne ligner hinanden.
- Klik nu på menuen Start og søg efter Notesblok. Klik på den for at starte.
Alternativt kan du bruge denne sti til at finde Notesblok:menu>Windows-tilbehør>Notesblok.
Trin 3:Oprettelse af en ny adgangskodetekstfil ved hjælp af adgangskodekommandoen
Kopiér og indsæt syntaksen nedenfor i teksteditoren for at undgå fejl, mens du skriver manuelt:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Som vi gjorde for Linux, skal du sørge for at beholde semikolon og de enkelte anførselstegn og erstatte NewPassword sætning med den nye adgangskode, du har tænkt dig at bruge på din MySQL.
Klik på indstillingen Fil og derefter Gem som for at gemme tekstfilens adgangskode på roden af din harddisk. Gem filen som mysql-init.txt.
Følgelig kan localhost-kommandoen kun foretage adgangskodeændringer på dit system. Derfor, hvis du har til hensigt at ændre adgangskoden på et andet system, f.eks. over netværket, skal du erstatte den lokale vært med det passende værtsnavn for det andet system.
Trin 4:Start CMD (kommandoprompt)
- Klik på Ctrl + Shift + Esc-tasterne på dit tastatur
- Vælg menuen Fil, og kør derefter en ny opgave
- Skriv cmd.exe og marker afkrydsningsfeltet Kør som administrator
- Klik på OK for at starte en kommandoprompt med administratorrettigheder.
Trin 5:Genstart af MySQL Server og anvendelse af den nye konfigurationsfil
- Brug kommandoprompten til at navigere til MySQL-biblioteket:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
- Indtast derefter følgende kommando:
mysqld --init-file=C:\\mysql-init.txt
Bemærk: Du bør tage i betragtning, at der er to omvendte skråstreg før mysql-init hurtig. Desuden, hvis du brugte et andet navn end det, vi brugte til illustration i trin 2 ovenfor, skal du bruge det navn umiddelbart efter de to omvendte skråstreg uden mellemrum.
Når dette er fuldført, kan du nu logge ind på din MySQL som root-bruger ved hjælp af den nyoprettede adgangskode.
Sørg for at dobbelttjekke for at sikre dig, at den nye adgangskode fungerer upåklageligt. Efter bekræftelse, fortsæt og fjern med mysql-init.txt-filen, vi gemte i vores C:\-bibliotek.
Generisk instruktioner til nulstilling af MySQL root-adgangskode
De foregående afsnit har givet dybdegående instruktioner om nulstilling af MySQL root-adgangskoder til Linux og Windows. Alternativt, når du bruger en hvilken som helst platform, kan du bruge MySQL-klienten til at nulstille adgangskoden. Det er dog vigtigt at bemærke, at denne metode er mindre sikker sammenlignet med de foregående metoder.
For at bruge MySQL-klienten skal du følge trinene fremhævet nedenfor:
1. Det første skridt er at stoppe MySQL-serveren. Efter at have stoppet, genstart den med indstillingen nedenfor:
--skip-grant-tables
Denne mulighed vil gøre det muligt for alle at oprette forbindelse uden en adgangskode, men vil have alle privilegier, og den deaktiverer kontoadministrationserklæringer såsom ALTER USER og INDSTIL ADGANGSKODE.
Denne mulighed anses for usikker, da hvis serveren starter med –skip-grant-tabellerne mulighed, spring over netværk er aktiveret ved at deaktivere fjernforbindelser.
2. Forbind nu til MySQL-serveren ved at køre kommandoen nedenfor:
mysql
Bemærk: der kræves ingen adgangskode under genstart af MySQL-serveren ved hjælp af MySQL-klient, da serveren startede med –skip-grant-tabellerne .
3. Kør nu kommandoen nedenfor i MySQL-klienten for at bede serveren om at genindlæse bevillingstabellerne. Dette vil gøre det muligt for kontostyringsudsagn, der var blevet stoppet tidligere, til at fungere igen:
mysql> FLUSH PRIVILEGES;
Når du har kørt kommandoen, skal du køre kommandoen ALTER USER for at ændre adgangskoden. Udskift MyNewPass , med den nye adgangskode, du har tænkt dig at bruge.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Bemærk: For at ændre root-adgangskoden for et andet system skal du sørge for at ændre den lokale vært med systemets værtsnavn.
Nu kan du oprette forbindelse til din MySQL-server som root-bruger ved at bruge den adgangskode, vi har oprettet. Stop derefter og genstart serveren normalt uden –skip-grant-tabellerne muligheder og uden at aktivere variablen overspringsnetværk.
Det er alt, hvad du har nulstillet din MySQL root-adgangskode.
Konklusion
Hvis du tidligere havde tildelt en root-adgangskode til MySQL, men glemt den, kan du nulstille den ved at tildele en ny adgangskode til din MySQL, som vist i denne artikel.
Bemærk: MySQL kræver ikke en root-adgangskode for at oprette forbindelse. Men ulempen ved ikke at tildele en root-adgangskode til din MySQL er, at den er usikker, og du kan miste dine værdigenstande. Derfor, hvis du aldrig har angivet en root-adgangskode til din MySQL, anbefaler vi stærkt, at du følger ovenstående trin for at oprette en og sikre dine data og oplysninger.