Lösung 1:
Der einfachste Weg, dies zu tun, besteht darin, einen Client-Abschnitt der Datei ~/.my.cnf zu verwenden und dort die Anmeldeinformationen hinzuzufügen.
[client]
user=root
password=somepassword
...
Es ist eine gute Idee, diese Datei auch nur für Root lesbar zu machen.
Lösung 2:
Wenn Sie für mysql 5.7+ ein leeres Passwort für die Ersteinrichtung festlegen, verwendet mysql automatisch auth_socket
als Strategie. Ein Versuch, das Passwort zu aktualisieren, ohne die Strategie zu ändern, führt zu keinem Ergebnis. Sie können sich immer ohne Passwort anmelden, wenn Ihr Benutzer root
ist .
Lösung Führen Sie den folgenden Befehl aus, um die Authentifizierungsstrategie zu ändern und das Passwort festzulegen
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''
Referenz:https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
Lösung 3:
Ab MySQL 5.6.6 können Sie den mysql_config_editor verwenden, um eine verschlüsselte Datei zu erstellen, die Sie automatisch anmeldet:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Geben Sie dann das Passwort ein, wenn Sie dazu aufgefordert werden.
Hinweis:Wenn Ihr Passwort „#“ und möglicherweise andere Zeichen enthält, verwenden Sie bei der Eingabe des Passworts einfache Anführungszeichen.