Aus irgendeinem Grund hat MySQL den Zugriff für root eingestellt. Mit Homebrew deinstalliert und neu installiert. Neu installieren, frische Tische aber wenn ich eintrete
mysql -u root -p
Ich erhalte diesen Fehler:
Zugriff für Benutzer 'root' @ 'localhost' verweigert (mit Passwort: NO)
Ich habe MySQL fünf Mal neu installiert, aber es wird immer noch nach einem Passwort gefragt. Wie behebe ich das?
mysql_secure_installation
und beantworten Sie die gestellten Fragen, einfachmysql -u root
arbeitete hier ...Antworten:
Führen Sie einfach diesen Befehl aus (wo
NEWPASS
ist Ihr Passwort):Ich habe den gleichen Fehler gehabt und ihn auf diese Weise behoben.
quelle
$
Zeichens am Anfang eines Befehlszeilen-Shell-Befehls eindeutig definiert. Andere sind möglicherweise verwirrt, da das$
Zeichen in SO und anderen Foren häufig als Shell-Eingabeaufforderungsmarkierung verwendet wird. Aber das Fehlen eines Zwischenraums zwischen$
und(
sollte auch die Leute darauf hinweisen.$(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
Nichts davon hat bei mir funktioniert. Ich glaube, ich hatte MySQL bereits irgendwo auf meinem Computer, also wurde dort ein Passwort festgelegt oder so. Nachdem ich stundenlang jede Lösung ausprobiert hatte, funktionierte Folgendes für mich:
Alle Ehre gebührt @Ghrua
quelle
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
, um Ihr neues Root-Passwort festzulegen.Falls Sie versehentlich das Root-Passwort festgelegt und vergessen haben und nicht alle Ihre Datenbanken löschen und neu beginnen möchten, weil Sie faul sind und vergessen haben, eine Sicherungslösung zu haben, und Sie eine relativ neue Homebrew-Installation verwenden (Winter 2013), hier sind Schritte zum Zurücksetzen Ihres Passworts für MySQL.
Stoppen Sie die aktuell ausgeführte MySQL-Instanz
Starten Sie nun MySQL, indem Sie die Grant-Tabellen und das Netzwerk von Hand überspringen
Beachten Sie, dass Sie den Pfad entsprechend anpassen müssen , wenn Sie echo $ (brown --prefix mysql) ausführen und es in bash nicht als "/ usr / local / opt / mysql" antwortet .
Sobald Sie dies getan haben, sollten Sie jetzt eine laufende, ungeschützte MySQL-Instanz haben.
Melden Sie sich an und legen Sie das Passwort fest
Geben Sie an der Eingabeaufforderung den folgenden MySQL-Befehl ein, um ein neues Kennwort für den betroffenen Benutzer festzulegen.
Wenn alles nach Plan lief, sollte es heißen:
Beenden Sie die MySQL-Eingabeaufforderung.
Server stoppen:
Lassen Sie uns nun den Startdämon zurücksetzen, damit wir MySQL wieder bereit haben:
Herzliche Glückwünsche. Sie haben gerade Ihr MySQL-Root-Passwort zurückgesetzt. Gießen Sie sich einen Kaffee ein und erhalten Sie eine Backup-Lösung!
quelle
mysqladmin -u root shutdown
password
keine gültige Spalte in MySQL 5.7.9 ist. Stattdessen musste ichauthentication_string
stattdessen verwenden. Der Rest der Anleitung funktionierte perfekt. Vielen Dank!update user set authentication_string=password('new_password_here') where user='root';
update mysql.user set authentication_string=password('none') where user='root';
damit es funktionierte. (Wie der Kommentar direkt über mir, aber prependmysql.
zuuser
.)Ich hatte vor ein paar Tagen das gleiche Problem. Dies geschieht, wenn Sie
mysql
überhomebrew
das Initialisierungsskript (mysql_install_db
) installieren und ausführen, bevor Sie denmysql
Dämon starten .Um dies zu beheben, können Sie
mysql
Datendateien löschen , den Dienst neu starten und dann das Initialisierungsskript ausführen:quelle
mysqld --initialize
No such file or directory
wenn ich diesen ersten Befehl ausführe.Ich habe diesen Fehler nach der Installation von MySQL über Home Brew erhalten.
Entfernen Sie also zuerst die Installation. Dann über Homebrew neu installieren
Starten Sie dann den MySQL-Dienst neu
Führen Sie dann diesen Befehl aus, um Ihr neues Root-Passwort festzulegen.
Schließlich werden Sie aufgefordert, die Berechtigungen neu zu laden. Sag ja. Dann melden Sie sich erneut bei MySQL an. Und verwenden Sie das neue Passwort, das Sie festgelegt haben.
quelle
mysql_secure_installation
aber der Schlüssel war dermysql.server restart
Wenn du läufst
Auch die Anmeldung mit dem Root-Konto schlägt fehl:
Anschließend wird der Standardadministrator mit demselben Namen wie der Benutzername Ihres MacOS- Kontos erstellt , z . B. johnsmit .
Um sich als root anzumelden, gehen Sie wie folgt vor:
quelle
Das hat bei mir funktioniert:
quelle
Ich habe gerade etwas Gemeinsames bei den meisten Antworten hier bemerkt und bei meiner Neuinstallation bestätigt. Es ist tatsächlich offensichtlich, wenn Sie sich die Empfehlungen ansehen, auf die Sie
mysqladmin -u root
verzichten sollten-p
.Es gibt kein Passwort.
Brew richtet MySQL mit nur einem Root-Benutzer und ohne Passwort ein. Das macht wohl Sinn, aber die Caveats nach der Installation erwähnen es überhaupt nicht.
quelle
Versuchen Sie mit
sudo
, um den Fehler "Zugriff verweigert" zu vermeiden:sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
quelle
Hoffe das hilft.
quelle
Da die Frage vor langer Zeit gestellt / beantwortet wurde, funktionieren diese Top-Antworten bei mir nicht. Hier ist meine Lösung im Jahr 2020.
Hintergrund : Frisches MySQL / Mariadb von Homebrew installiert.
Problem : Das Passwort für root ist nicht leer und unbekannt.
Das Update :
Der Grund :
quelle
Das Ausführen dieser Leitungen im Terminal hat den Trick für mich und mehrere andere getan, die das gleiche Problem hatten. Diese Anweisungen werden im Terminal aufgelistet, nachdem Brew MySQL erfolgreich installiert hat.
Wo
YOURPASSWORD
ist das Passwort für root?quelle
No such file or directory
wenn ich diese Befehle ausführeStellen Sie sicher, dass sich in Ihrem Homedir keine .my.cnf versteckt. Das war mein problem
quelle
Dies funktionierte bei mir für MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx
Starten Sie MySQL, indem Sie ausführen
Brauservices starten MySQL
Führen Sie das Installationsskript aus
mysql_secure_installation
Sie werden aufgefordert, ein Setup-Plugin für VALIDATE PASSWORD einzurichten. Geben Sie dazu y ein.
Wählen Sie die gewünschte Kennwortüberprüfung aus (spielt keine Rolle, wenn Sie nur die Datenbank verwenden).
Wählen Sie nun y für alle verbleibenden Optionen: Entfernen Sie anon. Benutzer; Remote-Root-Anmeldungen nicht zulassen; Testdatenbank entfernen; Berechtigungstabellen neu laden. Jetzt sollten Sie eine Nachricht von erhalten
All done!
quelle
Das hat bei mir funktioniert. Hoffentlich funktioniert das auch bei dir !!! Folge ihnen.
quelle
rm -rf /usr/local/var/mysql/
Befehls alle Datenbanken und MySQL-Daten auf Ihrem Computer gelöscht werden!Das Standardkennwort bei der Installation von MySQL über Brew lautet root. Versuchen Sie dies. Es hat bei mir funktioniert
mysql -uroot -proot
quelle
brew info mysql
: Wir haben Ihre MySQL-Datenbank ohne Root-Passwort installiert. Um es zu sichern, führen SieSchalter 1:
Terminal 2:
quelle
Ich benutze Catalina und benutze diesen
mysql_secure_installation
Befehl und arbeite jetzt für mich:Ich gebe
root
als aktuelles Passwort einund mach den Rest
quelle
Für den Fall, dass jemand die gleiche Situation und Konfiguration wie ich hat und auch verrückt wird - das hat bei mir funktioniert .
Nach einer langen Geschichte hatte ich eine von Brew gebaute MariaDB, die automatisch neu gestartet wurde, wenn ich ihren Prozess abbrach (das war Brew's Doing), was hatte ein Root - Passwort, das ich habe nicht wissen.
$ brew services list
Dies zeigt so etwas wie:
mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist
Stoppen Sie den MySQL-Server mit:
$ brew services stop mariadb
Dann starten Sie es erneut ohne den Root-Benutzer (und ohne Brew):
$ mariadbd --skip-grant-tables &
Hier
mysql_secure_installation
hat bei mir wegen der--skip-grant-tables
nicht funktioniert, und es würde ohne die nicht funktionieren--skip-grant-tables
weil es das Passwort brauchte (das ich nicht hatte).Der Versuch
$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2
ergab nur seltsame Fehler und tat nichts;$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2
funktionierte auch nicht, gab verschiedene Fehler und Vorschläge, die für mich nicht funktionierten.Aber du können sich jetzt jedoch ohne Anmeldeinformationen bei MySQL anmelden:
$ mysql
Hier funktioniert die alte Methode zum Aktualisieren der Benutzertabelle für root nicht, da "Spalte 'Passwort' nicht aktualisierbar ist".
Die neue Methode verwendet
alter user
ABER funktioniert erst, nachdem Sie dies zuerst getanflush privileges;
haben.Dann:
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(
MariaDB [(none)]>
ist die MySQL-Eingabeaufforderung hier)Dann
flush privileges;
wiederholen Sie .Beenden Sie den MySQL-Client.
Was das Brauen betrifft, läuft MariaDB immer noch nicht, und verwenden Sie es
$ ps aux | grep -i mariadb
, um die PID und$ kill -9 <pid>
sie zu finden .Dann verwenden Sie
$ brew services start mariadb
, um es erneut zu starten.quelle
Verwenden Sie die Init-Datei, um MySQL zu starten und das Root-Passwort zu ändern.
Ihr Root-Passwort wurde jetzt geändert. Stellen Sie sicher, dass der Server ordnungsgemäß heruntergefahren wird , um die Kennwortänderung zu speichern. Im neuen Terminalfenster ausführen
und geben Sie Ihren neuen Pass ein.
Starten Sie Ihren Dienst und entfernen Sie die Init-Datei
Getestet auf MySQL Version 8.0.19
quelle