Ich habe gerade MySQL unter Mac OS X installiert. Der nächste Schritt war das Festlegen des Root-Benutzerpassworts. Deshalb habe ich Folgendes getan:
- Starten Sie die Terminal-App, um auf die Unix-Befehlszeile zuzugreifen.
Unter der Unix-Eingabeaufforderung habe ich folgende Befehle ausgeführt:
$ cd /usr/local/mysql/bin $ ./mysqladmin -u root password 'password'
Aber wenn ich den Befehl ausführe
$ ./mysql -u root
, das ist 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 kann mysql
ohne Passwort in die Kommandozeile gelangen !
Warum ist das?
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
stattdessen verwenden.'password'
auf die rechte Seite der Gleichheit setzenERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Wenn Sie sich nicht an das Kennwort erinnern, das Sie für root festgelegt haben, und es zurücksetzen müssen, gehen Sie folgendermaßen vor:
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("your-password") WHERE User='root';
Aktualisieren und beenden:
FLUSH PRIVILEGES;
\q
quelle
password
mussauthentication_string
jetzt sein.UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
, wie @Scott sagte.sudo kill
Tat es nicht arbeiten, da der Mac OSx automatisch eine neue msql sofort neu starten würde. Sobald ich mysql über das Einstellungsfenster gestoppt hatte, konnte ich manuell ausführenmysqld_safe --skip-grant-tables
Sobald Sie MySQL installiert haben, müssen Sie das "root" -Kennwort festlegen. Wenn Sie kein Root-Passwort einrichten, gibt es kein Root-Passwort und Sie benötigen kein Passwort, um sich anzumelden.
Abgesehen davon müssen Sie ein Root-Passwort einrichten.
Geben Sie über das Terminal Folgendes ein:
Installation: Legen Sie das Root-Benutzerpasswort fest:
Wenn Sie einen Fehler gemacht haben oder das Root-Passwort ändern müssen, verwenden Sie Folgendes:
Root-Passwort ändern:
quelle
update user set authentication_string=PASSWORD("NEW_PASSWORD_HERE") where User='root';
anstelle vonset password=...
Die Anweisungen auf der MySQL-Website sind so klar wie die oben genannten
$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
/usr/local/mysql/bin/mysql
exit
oder Strg + z$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/support-files/mysql -u root -p
Referenz: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
quelle
Stoppen Sie den mysqld-Server.
System Preferences
>MySQL
>Stop MySQL Server
sudo systemctl stop mysqld.service
Starten Sie den Server im abgesicherten Modus mit Berechtigungsumgehung
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
In einem neuen Terminalfenster:
sudo /usr/local/mysql/bin/mysql -u root
Dadurch wird die MySQL-Befehlszeile geöffnet. Von hier aus eingeben:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
quit
Stoppen Sie den mysqld-Server erneut und starten Sie ihn im normalen Modus neu.
sudo /usr/local/mysql/support-files/mysql.server restart
sudo systemctl restart mysqld
quelle
Für neue MySQL 5.7 aus irgendeinem Grund bin Befehle von MySQL nicht an die Shell angehängt:
Starten Sie den Mac nach der Installation neu.
Starten Sie MySQL:
Systemeinstellungen> MySQL> Schaltfläche Start
Gehen Sie zum MySQL-Installationsordner im Terminal:
$ cd /usr/local/mysql/bin/
Zugang zu MySQL:
$ ./mysql -u root -p
und geben Sie das anfängliche Passwort für die Installation ein.
Ändern Sie im MySQL-Terminal das Passwort:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';
quelle
Schreiben Sie im Terminal
mysql -u root -p
und drücken Sie die Eingabetaste. Geben Sie das aktuelle MySQL-Passwort ein, das Sie notiert haben müssen. Und legen Sie das Passwort festSET PASSWORD = PASSWORD('new_password');
Bitte beachten Sie diese Dokumentation hier für weitere Details.
quelle
Wenn Sie das MySQL-Root-Passwort vergessen haben, sich nicht erinnern können oder einbrechen möchten, können Sie das MySQL-Datenbank-Passwort über die Befehlszeile unter Linux oder OS X zurücksetzen, solange Sie das Root-Benutzer-Passwort der Box kennen Sie sind auf:
(1) Stoppen Sie MySQL
(2) Starten Sie es im abgesicherten Modus:
(3) Dies ist ein fortlaufender Befehl, bis der Vorgang abgeschlossen ist. Öffnen Sie daher ein anderes Shell- / Terminalfenster und melden Sie sich ohne Kennwort an:
Ersetzen Sie im obigen UPDATE-Befehl einfach das 'Passwort' durch Ihr eigenes neues Passwort. Achten Sie darauf, die Anführungszeichen beizubehalten
(4) Speichern und ruhig
(5) Starten Sie MySQL
quelle
Als ich OS X Yosemite installiert habe, habe ich ein Problem mit MySQL. Ich habe viele Methoden ausprobiert, aber keine hat funktioniert. Ich habe tatsächlich einen ziemlich einfachen Weg gefunden. Probieren Sie es aus.
sudo su
sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
quelle
Die in den vorhandenen Antworten genannten Methoden funktionieren nicht für MySQL 5.7.6 oder höher. Laut MySQL-Dokumentation ist dies der empfohlene Weg.
B.5.3.2.3 Zurücksetzen des Root-Passworts: Allgemeine Anweisungen
MySQL 5.7.6 und höher:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Referenz: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
quelle
Wenn Sie sich nicht an Ihr Passwort erinnern können, hat die Antwort von @ radtek für mich funktioniert, außer in meinem Fall, dass ich MySQL mit Brew eingerichtet hatte, was bedeutete, dass die Schritte 1 und 2 seiner Antwort geändert werden mussten in:
/usr/local/bin/mysql.server stop
/usr/local/bin/mysqld_safe --skip-grant-tables
Hinweis: das Fehlen von
sudo
.quelle
Ich denke das sollte funktionieren:
(Beachten Sie, dass Sie root wahrscheinlich durch Ihren Benutzernamen ersetzen sollten, wenn es nicht root ist.)
quelle
Stoppen von MySQL Server
sudo /usr/local/mysql/support-files/mysql.server stop
Starten von MySQL im abgesicherten Modus
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Ändern des Root-Passworts
/usr/local/mysql/bin/mysql -u root
Testen
Lauf
/usr/local/mysql/bin/mysql -u root
Geben Sie nun das neue Passwort ein, um MySQL zu verwenden.
quelle
Genau das hat bei mir funktioniert:
Stellen Sie sicher, dass kein anderer MySQL-Prozess ausgeführt wird. Um dies zu überprüfen, gehen Sie wie folgt vor:
Starten Sie MySQL mit dem folgenden Befehl:
Das Kennwort für jeden Benutzer wird in der Tabelle mysql.user unter den Spalten User bzw. authentication_string gespeichert. Wir können die Tabelle aktualisieren als:
quelle
macOS 10.14+ mit 5.7.26, installiert vom Mac OSX DMG-Installationsprogramm.
Wenn Sie versuchen, den von anderen Benutzern geposteten UPDATE-Befehl zu verwenden, wird der folgende Fehler angezeigt:
FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.
Kopieren Sie das Kennwort, das Ihnen vom offenen Terminal des Installationsprogramms angezeigt wurde, und gehen Sie wie folgt vor:
quelle
Versuchen Sie dies im Terminal:
/usr/local/bin/mysql_secure_installation
quelle
Um auf MySQL 8.0.15 + zu verweisen, ist die Funktion password () nicht verfügbar. Verwenden Sie den folgenden Befehl.
Bitte benutzen
quelle
Wenn Sie Ihr Passwort vergessen haben oder es in Ihre MySQL ändern möchten:
wo "new_password" - Ihr neuer Pass. Sie brauchen keinen alten Pass für MySQL.
quelle
Für MySQL 8 hat sich viel geändert. Ich habe die folgende Modifikation der MySQL 8.0-Dokumentation "Zurücksetzen des Root-Passworts" gefunden unter Mac OS X funktioniert.
Erstellen Sie eine temporäre Datei
$HOME/mysql.root.txt
mit SQL, um das Root-Passwort zu aktualisieren:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<new-password>';
Dies wird verwendet
mysql_native_password
, um zu vermeiden, dass das Authentifizierungs-Plugin 'caching_sha2_password' nicht geladen werden kann. Dies wird angezeigt , wenn ich die Option weglasse.Stoppen Sie den Server, beginnen Sie mit einer
--init-file
Option zum Festlegen des Root-Passworts und starten Sie den Server neu:mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start
quelle
Fügen wir diese Problemumgehung hinzu, die auf meinem Laptop funktioniert!
Mac mit Osx Mojave 10.14.5
MySQL 8.0.17 wurde mit Homebrew installiert
Ich führe den folgenden Befehl aus, um den Pfad von MySQL zu finden
brew info mysql
Sobald der Pfad bekannt ist, führe ich Folgendes aus:
/usr/local/Cellar/mysql/8.0.17/bin/mysqld_safe --skip-grant-table
In einem anderen Terminal starte ich:
mysql -u root
In diesem Terminal habe ich das Root-Passwort geändert mit:
update mysql.user set authentication_string='NewPassword' where user='root';
und zum Schluss renne ich:
FLUSH PRIVILEGES;
Und voila das Passwort wurde zurückgesetzt.
Verweise :
quelle
Sie können MySQL auf dem Mac manuell deaktivieren, indem Sie auf Apple-Menü klicken und die Systemeinstellungen öffnen. Wählen Sie das Einstellungsfeld "MySQL" und klicken Sie auf die Schaltfläche "MySQL Server stoppen", um MySQL Server auf dem Mac zu stoppen.
Nachdem Sie Ihr MySQL gestoppt haben, müssen Sie diese Schritte ausführen.
Dann können Sie zum Apple-Menü gehen und die Systemeinstellungen öffnen. Wählen Sie das Einstellungsfeld "MySQL" und klicken Sie auf die Schaltfläche "MySQL Server stoppen", um MySQL Server auf dem Mac zu stoppen.
Schließlich können Sie wieder zum Apple-Menü gehen und die Systemeinstellungen öffnen. Wählen Sie das Einstellungsfeld "MySQL" und klicken Sie auf die Schaltfläche "MySQL Server starten", um MySQL Server auf dem Mac zu starten.
hoffentlich hilft das
quelle
Keiner der vorherigen Kommentare löst das Problem auf meinem Mac. Ich habe die folgenden Befehle verwendet und es hat funktioniert.
quelle
Ich muss das irgendwie jedes Mal tun, wenn mein Macbook neu startet. Wenn Sie dies als persönliche Referenz veröffentlichen, hilft es hoffentlich auch jemand anderem.
quelle