Linux mysql root passwort ändern

Hallo zusammen!

Ich habe folgendes Problem. Meine mySQL-Datenbank auf meinem Linux-Server läuft nicht so wie sie soll. Ich kann mich nicht als root in die DB einloggen. Ich habe nun diverse Dinge getestet um das root-password zurückzusetzen. Doch jedesmal kommt wieder der Hinweis, das ich mit root@localhost nicht auf mysql zugreifen kann.

Ich habe den Dienst gekillt, in die my.cnf (unter etc) im Bereich mysqld „skip-grant-tables“ eingefügt, den mysql gerestartet.

Nun komm ich auch in die mysql-shell.

Jetzt habe ich mit:
UPDATE mysql.user SET Password=PASSWORD(‚newpwd‘) WHERE user=‚root‘;

und anschließend
FLUSH PRIVILEGES;

das Passwort geändert.

Aus der my.cnf skip-grant-tables wieder entfernt, mysql neugestartet.
Trotzdem komm ich nicht in die mysql-shell und meine Anwendungen funktionieren auch nicht. Es heißt immer das ich mit root@localhost keinen Zugriff hab obwohl ich das richtige Password eingebe.

Was mach ich falsch?

Grüße, David.

Hallo zusammen!

Ich habe folgendes Problem. Meine mySQL-Datenbank auf meinem
Linux-Server läuft nicht so wie sie soll. Ich kann mich nicht
als root in die DB einloggen. Ich habe nun diverse Dinge
getestet um das root-password zurückzusetzen. Doch jedesmal
kommt wieder der Hinweis, das ich mit root@localhost nicht auf
mysql zugreifen kann.

Ich habe den Dienst gekillt, in die my.cnf (unter etc) im
Bereich mysqld „skip-grant-tables“ eingefügt, den mysql
gerestartet.

Nun komm ich auch in die mysql-shell.

Jetzt habe ich mit:
UPDATE mysql.user SET Password=PASSWORD(‚newpwd‘) WHERE
user=‚root‘;

hast du denn dein startscript gestartet . Hat dein Mysql überhaupt ein root passwort, bei meiner installation war nur ein root ohne passwort, ergo darf er auch kein passwort bekommen. Hab ich eben mit phpmyadmin ein root mit localhost und passwort angelegt.

Also erstmal müsstest du dich vergewissern ob es überhaupt ein user root gibt der ein passwort braucht.

ansonsten mal einen neuen anlegen , z.b.

Zum Setzen des root-Passworts an der Linux-Konsole folgendes eingeben:

mysqladmin -u root password neues_passwort

Zum Anlegen eines neuen Benutzers an der mysql-Konsole folgendes eingeben:

GRANT ALL PRIVILEGES ON *.* TO ‚username‘@‚localhost‘ IDENTIFIED BY ‚passwort‘ WITH GRANT OPTION;

Hallo! Danke für deine Antwort!

Ich komme leider nur in die MySQL-Shell wenn ich im mysqld-bereich der my.cnf „skip-grant-tables“ reinschreibe.
Bin ich dann in der MySQL-Shell und gebe deinen vorgeschlagen Befehl ein, bekomme ich den Hinweis das der MySql-Server mit der --skip-grant-tables läuft, und deshalb der Befehl nicht ausgeführt werden kann.

Nehme ich skip-grant-tables aus der my.cnf raus, komme ich nichtmal bis zur MySQL-Shell.

Ich bin hier echt am verzweifeln. Das kann doch nicht so schwer sein.

Hallo!
Habe den Server nun auf einen Status von vorgestern zurückgesetzt, alles nochmal in Ruhe angegangen… naja und wie es nicht anders zu erwarten war, es funktioniert nun… sag ja kann doch nich so schwer sein :smiley:

trotzdem danke!

naja, du hast ja auch immernoch nichts von deinem linux erzählt, aber warscheinlich hast du soviel ahnung davon, das du glaubst es ist wie bei windows, es gäbe nur eins.
Es gibt aber XXXX linuxe und x windowse und ob dus glaubst oder nicht welche mysql server version wäre auch interressant.
Es sind dieverse fehlerquellen nötig, und von deiner mysql. error log datei hast du noch garnichts verraten.

Sei froh das der schnelle (reinstalltion) weg auch wohl der sicherste war, denn wir wären hier noch jahre im gange bei den allgemein gültigen beschreibungen die du hier ablieferst, obwohl du genau nur ein bestimmtest , nämlich deines , linux und mysql versions problem hast.

Als abschliessenden test würd ich dich bitten jetzt nochmal dein rootpasswort mit deinem ersten befehl zu ändern und zu gugen ob du wieder kein zugang hast, wenn ja dann solltest du allerdings nochmal alles on detail hier posten.

P.S. manche kommen mit glück und gedult auch weiter.