Das ursprüngliche Poster behauptet, in dieser Antwort eine Lösung für dieses Problem gefunden zu haben, machte jedoch für mich keinen Sinn. Aber jetzt verstehe ich, dass einige Debian / Ubuntu-Distributionen eine Socket-basierte Authentifizierungsmethode verwenden. Diese standardmäßig aktivierte Authentifizierungsmethode würde natürlich eine Verwendung erfordern sudo
, um in MySQL einzusteigen, wie sie beschrieben werden.
Im Allgemeinen gibt es jedoch keinen Grund, mysql_secure_installation
über zu laufen sudo
. Das macht in den meisten Fällen keinen Sinn, da MySQL sudo
für eine Client-Transaktion wie diese nicht benötigt wird ... Wenn nicht die Socket-basierte Authentifizierung im Spiel ist. Und es mysql_secure_installation
ist nur ein Bash-Skript, das eine Reihe von Befehlen in einem schönen, praktischen Paket ausführt, um die Aktualisierung einiger Sicherheitselemente im Zusammenhang mit MySQL zu ermöglichen. Schauen Sie sich den Quellcode an, um zu sehen, was ich meine.
Wenn Sie sich also auf einem System befinden, das keine sockelbasierte Authentifizierung verwendet und ein ähnliches Problem auftritt, besteht die Lösung darin, dass das Kennwort für ältere Versionen von MySQL leer ist. Also würden Sie einfach das ausführen, um in MySQL zu gelangen:
mysql -uroot -p
Oder im Fall von mysql_secure_installation
, einfach drücken Returnoder Enterwenn Sie nach einem Passwort gefragt werden.
Bei modernen MySQL-Versionen - ich glaube, MySQL 5.7 oder höher - müssen Sie das Fehlerprotokoll auf eine Nachricht wie diese überprüfen:
“2016-05-16T07: 09: 49.796912Z 1 [Hinweis] Für root @ localhost wird ein temporäres Kennwort generiert: 8) 13ftQG5OYl”
Dies ist ein Beispiel aus dem Persona-Blogeintrag zu diesem Thema . Wo sich dieser MySQL-Protokolleintrag befindet, kann sich dieser /var/log/mysqld.log
auf einem CentOS / RedHat-Server befinden oder als Ausgabe der Paketinstallation auf Ubuntu / Debian-Systemen angezeigt werden.
root
Wenn Sie jedoch einfach das Fehlerprotokoll auf den Text "Temporäres Kennwort" prüfen, erhalten Sie das ursprüngliche Kennwort, das MySQL bei der Erstinstallation festlegt.