Hvis du noen gang har låst nøklene i en bil , er du allerede kjent med synkende følelsen du får etter å realisere du har slettet en brukerkonto kritisk til å håndtere en MySQL database server . Ved konvensjonen , er MySQL super - bruker som heter " root" og har krefter til å legge til og endre andre kontoer , opprette og slette databaser og utføre slike lederfunksjoner som å slå av serveren. MySQL laster informasjon om brukerkontoer inn i minnet ved oppstart . Hvis du ved et uhell sletter en "root "-kontoen fra brukeren tabellen i databasen , vil utvinning tilnærming avhenger av hvorvidt disse legitimasjon er terskel i minnet . Instruksjoner
Root legitimasjon er fortsatt bufret
en
Utfør login -kommandoen for "mysql " skjerm verktøyet på Linux eller Windows ledeteksten:
mysql - user = root @ localhost - password = mypass
du vil erstatte " mypass " med passordet for "root "-kontoen via
p Hvis du er i stand til å koble til, forblir logget på "localhost ". "mysql"- verktøyet, og gå videre til trinn to . Hvis ikke, gå til
2
Skriv inn følgende SQL-kommando mens de fortsatt logget inn på "mysql " verktøyet " Root kontoen lenger bufret . " : En
INSERT INTO mysql.user ( Host , bruker, passord) VALUES ( 'localhost ', ' root' , PASSORD (' mypass ') ) ; " . mypass "
Dette skaper en "root " bruker med et passord som matcher din tekst for Anførselstegn er nødvendig, men kapitalisering av SQL-kommandoer er valgfritt
3
Skriv inn følgende SQL-kommandoen : . .
Gi alle rettigheter PÅ * * TO ' root' @ 'localhost' WITH GRANT OPTION ;
p Dette vil tildele alle privilegier til den nye kontoen
Root kontoen lenger bufret
4
Stopp din MySQL. server
på en Linux- system med en mysql start /stopp script , er dette vanligvis gjøres som systemadministrator ved å skrive inn en kommando som : .
/etc /rc.d /init.d /mysql stoppe
på Windows -systemer , velg Kontrollpanel fra Start-menyen og åpne Administrative verktøy mapper. Dobbeltklikk på -ikonet og bla gjennom listen for å finne den "MySQL " entry . Høyreklikk på den og velg "Stop" på pop -up -meny
5
Åpne en ren tekst editor og skriv inn følgende SQL-kommandoer : .
INSERT INTO mysql . Bruker ( Host , bruker, passord) VALUES ( 'localhost ', ' root' , PASSORD (' mypass ') ) ;
gi alle rettigheter PÅ * * TO ' root' @ ' localhost' WITH GRANT OPTION . ;
FLUSH tabeller;
Igjen, " mypass " vil være passordet du foretrekker for din "root "-kontoen . Lagre tekstfilen . I dette eksemplet er filnavnet " root.sql " brukes .
6
Oppgi denne kommandoen på Linux-systemer for å starte MySQL server ( unngå de vanlige start /stopp- script) , og tvinge den til å behandle kommandoene i tekstfilen :
safe_mysqld - init - fil = root.sql
på Windows , er kommandoen : en
mysqld - nt - init - fil = root.sql
Du må kanskje gi den fullstendige banen til " safe_mysqld " eller " mysqld - nt , " som med " root.sql . "
7
Slå serveren igjen . Nå kan du kjøre " mysqladmin "-verktøyet som ny "root " user : en
mysqladmin nedleggelse - user = root - password = mypass
Du må kanskje inkludere den fullstendige banen til " mysqladmin " kjørbar på systemet ditt . Hva du skriver i stedet for " mypass " ovenfor ville være passordet du skrev inn når du oppretter " root.sql " filen .
8
Start MySQL server som du vanligvis gjør for vanlig bruk i produksjon.