Hvis du nogensinde har låst dine nøgler i en bil , du allerede er bekendt med den synkende følelse, du får efter at indse du har slettet en brugerkonto kritisk til at styre en MySQL-database -server . Pr. konvention er MySQL super- bruger ved navn "root" og har beføjelser til at tilføje og ændre andre konti , oprette og slette databaser og udføre sådanne forvaltningsplaner funktioner såsom lukke serveren. MySQL indlæser oplysninger om brugerkonti i hukommelsen ved opstart . Hvis du ved et uheld sletter en "root" -konto fra brugeren tabel i databasen , vil inddrivelsen tilgang afhænger af, om eller ej disse legitimationsoplysninger er karmen i hukommelsen. Instruktioner
Root legitimationsoplysninger Still Cached
1
Udfør login kommandoen for "mysql"- monitor hjælpeprogram på Linux eller Windows kommandoprompt : Hej
mysql - user = root @ localhost - password = mypass
p Du vil erstatte " mypass " med adgangskoden til din "root" konto via
p Hvis du er i stand til at forbinde , forblive logget ind på " localhost ". "mysql"- værktøjet og gå videre til trin 2. . Ellers gå til
2
Indtast følgende SQL-kommando , mens du stadig er logget på "mysql " nytte " Root konto No Longer Cached ". : Hej
INSERT INTO mysql.user ( Host , User , password ) VALUES ( ' localhost ', ' root ' , pASSWORD ( ' mypass ) ) ; " . mypass "
Dette skaber en "root" bruger med en adgangskode matcher din tekst for Anførselstegn er påkrævet, men aktivering af SQL-kommandoer er valgfri
3
Indtast følgende SQL-kommando : . .
Give alle privilegier på * * TO ' root ' @ ' localhost ' WITH GRANT OPTION ,
Dette vil overdrage alle rettigheder til den nye konto
Root konto ikke længere Cached
4
Stop din MySQL. server
på et Linux system med en mysql start /stop script , dette gøres typisk som systemadministrator ved at indtaste en kommando som : .
/etc /rc.d /init.d /mysql stoppe
på Windows-systemer skal du vælge Kontrolpanel fra menuen Start og åbn Administration mapper. Dobbelt-klik på ikonet Tjenester og rul gennem listen for at finde " MySQL " indrejse. Højreklik på det og vælg "Stop" på pop- up -menuen
5
Åbn en almindelig tekst editor og indtast følgende SQL-kommandoer : .
Indsætte i MySQL. bruger ( Host , User , Password ) VALUES ( ' localhost ', ' root ' , PASSWORD ( ' mypass ) ),
give alle privilegier på * * TO ' root '@' localhost ' WITH GRANT OPTION . ;
FLUSH bordet;
Igen " mypass " vil være den adgangskode, du foretrækker for din " root" -konto. Gem tekstfilen. I dette eksempel filnavnet " root.sql " anvendes .
6
Indtast denne kommando på Linux-systemer til at lancere MySQL-serveren (undgå den sædvanlige start /stop script) og tvinge det til at behandle kommandoerne i din tekstfil :
safe_mysqld - init - file = root.sql
i Windows kommandoen : Hej
mysqld - nt - init - fil = root.sql
Du kan have til at levere den fulde sti til " safe_mysqld " eller " mysqld - nt , " som med " root.sql ".
7
Luk serveren igen . Nu kan du udføre " mysqladmin " værktøj som den nye "root" bruger : Hej
mysqladmin shutdown - user = root - password = mypass
Du kan have til at omfatte den fulde sti til " mysqladmin " eksekverbar på dit system. Hvad du skriver i stedet for " mypass " over ville være den adgangskode, du har indtastet ved oprettelse af " root.sql " fil .
8
Start din MySQL server som du normalt gør for regelmæssig anvendelse af produktionen . < br >