Ich habe gerade MySQL auf Mac OS X installiert. Der nächste Schritt war das Festlegen des Root-Benutzer-Passworts, also habe ich dies als nächstes getan:
Starten Sie die Terminal-App, um auf die Unix-Kommandozeile zuzugreifen.
In der Unix-Eingabeaufforderung führte ich diese Befehle aus:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
Aber wenn ich den Befehl
$ ./mysql -u root" ausführe, ist dies die Antwort:
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>
Ich komme in die mysql
-Befehlszeile ohne ein Passwort!
Woran liegt das?
Versuchen Sie den Befehl FLUSH PRIVILEGES
, wenn Sie sich im MySQL-Terminal anmelden. Wenn das nicht funktioniert, versuchen Sie die folgenden Befehle im MySQL-Terminal
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
Ersetzen Sie NEWPASSWORD durch das von Ihnen gewünschte Passwort. Jetzt sollte alles klappen!
Aktualisierung: Seit MySQL 5.7 wurde das Feld password
in authentication_string
umbenannt. Wenn Sie das Passwort ändern, verwenden Sie die folgende Abfrage, um das Passwort zu ändern. Alle anderen Befehle bleiben gleich:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
Update: Auf 8.0.15 (vielleicht auch schon vorher) funktioniert die Funktion PASSWORD() nicht, wie in den Kommentaren unten erwähnt. Sie müssen verwenden:
UPDATE mysql.user SET authentication_string='password' WHERE User='root';
Wenn Sie sich nicht mehr an das Passwort erinnern, das Sie für root festgelegt haben, und es zurücksetzen müssen, folgen Sie diesen Schritten:
sudo mysqld_safe --skip-grant-tables".
mysql -u root
Für MySQL älter als MySQL 5.7 verwenden Sie:
UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';
Für MySQL 5.7+ verwenden Sie:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("Ihr-Passwort") WHERE User='root';
Aktualisieren und beenden Sie das Programm:
PRIVILEGIEN FLUSH;`
\q
Sobald Sie MySQL installiert haben, müssen Sie das Root-Passwort festlegen. Wenn Sie kein Root-Passwort einrichten, gibt es auch kein Root-Passwort, und Sie brauchen kein Passwort, um sich anzumelden.
Sie müssen also ein Root-Passwort einrichten.
Geben Sie im Terminal Folgendes ein:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Wenn Sie einen Fehler gemacht haben oder das Root-Passwort ändern müssen, gehen Sie wie folgt vor:
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