Als je ooit hebt opgesloten uw sleutels in een auto , bent u al bekend met de zinkende gevoel dat je krijgt na het realiseren u een gebruikersaccount van cruciaal belang voor het beheer van een MySQL hebt verwijderd databaseserver . Volgens afspraak wordt MySQL super - gebruiker met de naam "root " en heeft de bevoegdheid om andere accounts databases toevoegen en wijzigen , maken en verwijderen en dergelijke management functies , zoals het afsluiten van de server uit te voeren . MySQL laadt informatie over gebruikersaccounts in het geheugen bij het opstarten . Als u per ongeluk een "root "-account van de gebruiker tabel in de database te verwijderen , zal het herstel aanpak afhangen of deze referenties zijn dorpel in het geheugen . Instructies Root Geloofsbrieven zijn nog steeds Cache 1 Voer de login- opdracht voor de " mysql " utility -monitor op de Linux -of Windows -opdrachtprompt : mysql - user = root- @ localhost - password = mypass u " mypass " met het wachtwoord voor je " root"-account te vervangen via Als u in staat om verbinding te maken , blijft ingelogd zijn om " localhost . " de " mysql " nut en ga verder met stap 2 . Anders doorgaan naar kopen van 2 Voer de volgende SQL-opdracht , terwijl nog steeds aangemeld bij de " mysql " utility " Root Account niet meer cache . " : INSERT INTO mysql.user ( gastheer , gebruiker , wachtwoord ) VALUES ( ' localhost ' , 'root' , PASSWORD ( ' mypass " ) ) ; " . mypass " Dit creëert een " root " gebruiker met een wachtwoord die overeenkomen met uw tekst voor Aanhalingstekens zijn vereist , maar kapitalisatie van SQL-commando is optioneel 3 Voer de volgende SQL-opdracht : . . KENNEN ALL PRIVILEGES ON * * TO 'root' @ ' localhost ' mET SUBSIDIE OPTION ; Dit zal alle privileges voor de nieuwe account niet meer cache Stop uw MySQL 4 toewijzen Root account . server op een Linux systeem met een mysql start /stop script , wordt dit meestal gedaan als de systeembeheerder door het invoeren van een commando als : . /etc /rc.d /init.d /mysql stop Op Windows -systemen , selecteert u het Configuratiescherm via het Start-menu en de Systeembeheer mappen te openen . Dubbelklik op het pictogram Services en blader door de lijst om de " MySQL " entry vinden . Klik met de rechtermuisknop op deze en selecteer " Stop" in het pop - upmenu 5 Open een plain - text editor en voer de volgende SQL-commando : . INSERT INTO mysql . gebruiker ( Computer, gebruiker , wachtwoord ) VALUES ( ' localhost ' , 'root' , PASSWORD ( ' mypass ' ) ) ; KENNEN ALL PRIVILEGES ON * * TO 'root' @ ' localhost ' MET GRANT OPTION . ; FLUSH TABELLEN ; Nogmaals , " mypass " zal het wachtwoord dat u liever voor je "root " account. Sla het tekstbestand . In dit voorbeeld is de bestandsnaam " root.sql " wordt gebruikt . 6 Voer deze opdracht op Linux -systemen naar de MySQL- server ( het vermijden van de gebruikelijke start /stop script ) te lanceren en dwingen om te verwerken de opdrachten in uw tekstbestand : safe_mysqld - init - file = root.sql op Windows , het commando is : mysqld - nt - init - bestand = root.sql misschien moet u het volledige pad naar de " safe_mysqld " of " mysqld - nt , " als met " root.sql . " 7 Schakel de server opnieuw . Nu kunt u de " mysqladmin " utility uit te voeren als de nieuwe "root " gebruiker : mysqladmin shutdown - user = root- - password = mypass Misschien moet u het volledige pad naar behoren " mysqladmin ' executable op uw systeem . Wat je typt in plaats van " mypass " hierboven zou het wachtwoord dat u hebt getypt bij het maken van de " root.sql " bestand zijn. 8 Begin uw MySQL server zoals u gewend bent voor regelmatige productie gebruik . < br >
|