MySQL Reference Manual har detaljerede trin til, hvordan du nulstiller adgangskoden til root, som er som nedenfor:
Proceduren under Windows:
- Log på Windows-systemet, hvor MySQL kører som administrator.
- Stop MySQL-serveren, hvis den kører. For en server, der kører som en Windows-tjeneste, skal du gå til Services Manager:
Startmenu -> Kontrolpanel -> Administrative værktøjer -> Tjenester
Find derefter MySQL-tjenesten på listen, og stop den.
Hvis din server ikke kører som en tjeneste, skal du muligvis bruge Task Manager for at tvinge den til at stoppe.
- Opret en tekstfil og placer følgende kommandoer i den hver på en enkelt linje:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;
Save the file with any name. For this example the file will be C:\mysql-init.txt.SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
- Open a console window to get to the DOS command prompt: Start Menu -> Run -> cmd
- If MySQL is installed in C:\mysql. If MySQL is installed in another location, adjust the following commands accordingly.
At the DOS command prompt, execute this command:
C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
Indholdet af filen, der er navngivet af --init-file-indstillingen, udføres ved serverstart og ændrer root-adgangskoden. Når serveren er startet, skal du slette C:\mysql-init.txt.
Hvis du installerede MySQL ved hjælp af MySQL-installationsguiden, skal du muligvis angive en --defaults-file-indstilling:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
Den passende --defaults-file-indstilling kan findes ved hjælp af Services Manager:
Startmenu -> Kontrolpanel -> Administrative værktøjer -> Tjenester
Find MySQL-tjenesten på listen, højreklik på den, og vælg indstillingen Egenskaber. Feltet Sti til eksekverbar indeholder indstillingen --defaults-fil. Sørg for at angive --init-file-argumentet med den fulde systemsti til filen, uanset din nuværende arbejdsmappe
- Stop MySQL-serveren, og genstart den derefter i normal tilstand igen. Hvis MySQL-serveren køres som en tjeneste, skal du starte den fra vinduet Windows Services. Hvis du starter serveren manuelt, skal du bruge den kommando, du normalt bruger.
- Opret forbindelse til MySQL-serveren ved at bruge den nye adgangskode. Husk også at slette filen mysql-init.txt, når du er færdig.
For Unix- og Linux-miljøer er proceduren for nulstilling af root-adgangskoden som følger:
- Log på Unix-systemet som enten Unix root-bruger eller som den samme bruger, som mysqld-serveren kører som.
- Find .pid-filen, der indeholder serverens proces-id. Den nøjagtige placering og navn på denne fil afhænger af din distribution, værtsnavn og konfiguration. Almindelige placeringer er /var/lib/mysql/, /var/run/mysqld/ og /usr/local/mysql/data/. Generelt har filnavnet filtypenavnet .pid og begynder med enten mysqld eller systemets værtsnavn.
Stop MySQL-serveren ved at sende en normal kill (ikke kill -9) til mysqld-processen ved at bruge stinavnet til .pid-filen i følgende kommando:
shell> kill `cat /mysql-data-directory/host_name.pid`
Bemærk brugen af backticks i stedet for fremadrettede citater med kat-kommandoen; disse bevirker, at output fra kat erstattes af kill-kommandoen.
- Opret en tekstfil og placer følgende kommando i den på en enkelt linje:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
Gem filen med et hvilket som helst navn. For dette eksempel vil filen være ~/mysql-init.
- Genstart MySQL-serveren med den specielle --init-file=~/mysql-init mulighed:
shell> mysqld_safe --init-file=~/mysql-init &
Indholdet af init-filen udføres ved serverstart, hvilket ændrer root-adgangskoden. Efter at serveren er startet med succes, bør du slette ~/mysql-init.
- Genstart serveren normalt. Opret forbindelse til MySQL-serveren ved at bruge den nye adgangskode.
Alternativt kan mysql-klienten på enhver platform bruges til at indstille den nye adgangskode, selvom det er en mindre sikker måde at nulstille adgangskoden på (detaljeret instruktion her):
- Stop mysqld og genstart det med --skip-grant-tables --user=root-indstillingerne (Windows-brugere udelader --user=root-delen).
- Opret forbindelse til mysqld-serveren med denne kommando:
shell> mysql -u root
- Udfør følgende sætninger i mysql-klienten:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;
Erstat 'newpwd' med den faktiske root-adgangskode, som du vil bruge.
- Du bør være i stand til at oprette forbindelse ved hjælp af den nye adgangskode.