MySQL Passwort und Login auf Debian 9

T

tx_g

Gast
Hallo,
Ich habe ein Problem mit der neuen MySQL Installation auf Debian 9. Während der installieren der Pakete *-server und *-client konnte ich kein Passwort festlegen für den root Benutzer. Als ich mich nun mit den Default Login Daten MySQL -u root -p anmelden will (als Standardbenutzer im System) bekomme ich keine Anmeldung hin. Als root Benutzer im System funktioniert all dies ohne Passwort.
Da ich ganz gern phpmyadmin benutzen würde sollte der Login allerdings mit Passwort funktioniere. Könnt ihr mir da helfen?
 
Aber das behebt doch nicht das Problem, dass ich mich als normaler Benutzer nicht bei MySQL anmelden kann, selbst wenn ich das Passwort von einer DB kenne
 
Hast du überhaupt Nutzer in mysql angelegt? Nicht in ebian, in mysql!
Eine DB hat kein Passwort. Niemals.
 
Ich bin das so gewohnt von Debian 8, das wäre dann der Installation von mysql-server der Standard Benutzer mit Passwort angelegt wird. Da ich nicht dazu aufgefordert wurde ein Passwort einzugeben bin ich nicht sicher.
 
Ist das eine Debian 8 Installation mit Upgrade oder Debian 9 neu? Wenn alt, hast du eine Konfiguration die so bleibt wie sie war. Oder hast du beim Upgrade auch dein root und dein Benutzer-Password für Debian selbst eingeben müssen? Bzw. einen neuen Benutzer anlegen müssen?

Dann: hast du Logs angesehen? Hast du die Benutzertabelle in mysql angesehen?
 
Ich benutze das ganze auf einer neuen Installation von Debian 9.
In der tabelle steht aus User nur root, aber kein Passwort. Da habe ich jetzt mit dem Befehl aus dem Link eins gesetzt. Dennoch, wenn ich mich nun Versuche damit anzumelden (phpmyadmin wie Konsole ohne root) bekomme ich den Access denied Fehler
 
Zuletzt bearbeitet von einem Moderator:
Leg einfach einen neuen User für die Datenbank an und vergib ein Passwort.

Wenn du in der Shell mit root eingeloggt bist, dann kannst du mit mysql -uroot - p ohne passwort (bei der pw abfrage einfach enter drücken) einloggen, die Authentifizierung läuft über unix_sockets. Wenn du nachwievor root mit passwort haben willst, dann musst du unix_sockets in der plugin tabelle deaktivieren.

Nachtrag:

überprüfen kannst du es mit

sudo mysql -uroot -p
enter password: [enter drücken]

select user,host,plugin from mysql.user;

in der spalte plugin sollte bei root dann unix_socket drin stehen;

Du solltest aber, wie oben gesagt, einen zweiten "root" mysql account anlegen und den ersten unangetastet lassen.
 
Zuletzt bearbeitet:
Kannst du mir sagen wie ich das deaktiviere?
//Edit ah ich habe es:
update mysql.user set plugin='' where user='root';
flush privileges;
//
Danke für die Hilfe, geht nun :)
 
Zuletzt bearbeitet von einem Moderator:
Meine Empfehlung ist aber nachwievor dass du dir einen weiteren Benutzer anlegst der root Zugriff hast. Es gibt nämlich einige Mysql interne Funktionen und Anwendungen die nur über unix_sockets funktionieren. Es könnte also sein dass dein Mysql zum "spacken" anfängt.
 
Zurück
Oben