Ich habe eine Lösung!
Beim Zurücksetzen des Root-Passworts in Schritt 2) ändern Sie auch das Authentifizierungs-Plugin in mysql_native_password
:
use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root'; # THIS LINE
flush privileges;
quit;
Dadurch konnte ich mich erfolgreich anmelden!
Vollständige Codelösung
1. Bash-Befehle ausführen
1. Führen Sie zuerst diese Bash-Befehle aus
sudo /etc/init.d/mysql stop # stop mysql service
sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql
2. Führen Sie dann mysql-Befehle aus => kopieren Sie dies und fügen Sie es manuell in die CLI ein
use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user
flush privileges;
quit;
3. mehr Bash-Befehle ausführen
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p
4. Socket-Problem (aus Ihren Kommentaren)
Wenn Sie eine Buchse sehen error kam eine Community mit 2 möglichen Lösungen:
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
(Dank an @Cerin)
Oder
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
(Dank an @Peter Dvukhrechensky)
Blinde Pfade und mögliche Kantenfehler
Verwenden Sie 127.0.0.1 anstelle von localhost
mysql -uroot # "-hlocalhost" is default
Kann zu "Fehlende Datei" oder SLT-Fehler führen.
mysql -uroot -h127.0.0.1
Funktioniert besser.
Überspringen Sie das Socket-Problem
Ich habe viele Möglichkeiten gefunden, mysqld.sock
zu erstellen Datei, ändern Sie die Zugriffsrechte oder verknüpfen Sie sie per Symlink. Es war schließlich nicht das Problem.
Überspringen Sie my.cnf
Datei
Das Problem war auch nicht da. Wenn Sie sich nicht sicher sind, dies könnte Ihnen helfen .