Ik heb zojuist MySQL geïnstalleerd op Mac OS X. De volgende stap was het instellen van het root gebruikerswachtwoord, dus dat heb ik als volgt gedaan:
Start de terminal applicatie om de Unix command line te openen.
Onder de Unix prompt voerde ik deze commando's uit:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
Maar, wanneer ik het commando uitvoer
$ ./mysql -u root
, dan is dit het antwoord:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Ik kan in de mysql
command line komen zonder een wachtwoord!
Hoe komt dit?
Probeer het commando FLUSH PRIVILEGES
wanneer u inlogt in de MySQL terminal. Als dat niet werkt, probeer dan de volgende reeks commando's terwijl u in de MySQL terminal bent
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
Verander NEWPASSWORD met het wachtwoord dat u wilt. Zou helemaal klaar moeten zijn!
Update: Vanaf MySQL 5.7 is het password
veld omgedoopt tot authentication_string
. Als u het wachtwoord wilt wijzigen, gebruik dan de volgende query om het wachtwoord te wijzigen. Alle andere commando's blijven hetzelfde:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
Update: Op 8.0.15 (misschien al voor die versie) werkt de functie PASSWORD() niet, zoals vermeld in de opmerkingen hieronder. U moet gebruiken:
UPDATE mysql.user SET authentication_string='password' WHERE User='root';
Als u het wachtwoord dat u voor root hebt ingesteld niet meer weet en het opnieuw moet instellen, volg dan deze stappen:
sudo mysqld_safe --skip-grant-tables;
mysql -u root
Voor MySQL ouder dan MySQL 5.7 gebruik:
UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';
Voor MySQL 5.7+ gebruik:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';
Vernieuw en sluit af:
FLUSH PRIVILEGES;
\q
Zodra u MySQL hebt geïnstalleerd, moet u het "root" wachtwoord instellen. Als u geen root-wachtwoord instelt, wel, dan is er geen root-wachtwoord, en u hebt geen wachtwoord nodig om in te loggen.
Dus, dat gezegd zijnde, moet je een root-wachtwoord instellen.
Gebruik terminal en voer het volgende in:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Als je'een fout hebt gemaakt, of het root wachtwoord moet veranderen gebruik dan het volgende:
cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]
use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit