MySQL Basics

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
Goswin
User
Beiträge: 363
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen
Kontaktdaten:

Ich benutze Linux Mint 13 Maya.
Nachdem ich den MySQL server 5.5.34 mit der mysql-workbench 5.2.38 über die Paketverwaltung installiert und geringfügig kaputtgemacht habe (password wurde nicht mehr erkannt), wollte ich beide wieder entfernen und neu installieren.

Das hat nicht funktioniert. :( :( :( Bei der ersten Installation musste ich ein Passwort für root eingeben, welches bei "mysql -p -u root" anfangs (vor dem Kaputtmachen) auch erkannt wurde. Bei der Neuinstallation wurde ich nie nach einem Password gefragt, und ich kann mich immer noch nicht als Benutzer root einloggen, zumindest nicht richtig: nur wenn ich ein leeres Password eingebe komme ich hinein, weiß aber sonst nicht weiter.

Ich habe auch versucht über einen Benutzer debian-sys-maint das passwort neu zu setzen mit
"update mysql.user set Password=password("neues_password'') where User='root';"
aber das war offenbar Blödsinn aus irgendeinem tutorial; das Passwort funktioniert immer noch nicht.

Wie installiere ich Server und Workbench von Grund auf neu? Oder vielleicht: wie setze ich das Password für root? (von Datenbanken kenne ich nur die Theorie; noch nie damit gearbeitet)
BlackJack

@Goswin: Beim deinstallieren gibt es bei Debian-Derivaten üblicherweise zwei Varianten: Das normale deinstallieren, und die Variante bei der auch Konfigurationsdateien entfernt werden. Beim Paketmanager Synaptic heissen die Menüpunkte „Mark for removal” und „Mark for complete removal”. In Aptitude „remove” und „purge”.

Edit: Ansonsten hilft es angeblich auch manchmal die Dokumentation zu lesen. Die MySQL-Dokumentation hat da einen Abschnitt der How to Reset the Root Password heisst. ;-)
Benutzeravatar
Goswin
User
Beiträge: 363
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen
Kontaktdaten:

In der Tat: Ich hatte den mysql-server selber durchaus vollständig deinstalliert, aber da waren noch andere Dateien, die ich nur einfach deinstalliert hatte. Ich habe es jetzt noch einmal gemacht (hoffentlich habe ich alle Dateien erfasst), und wurde tatsächlich bei der Konfiguration nach einem Password gefragt. Die Situation ist aber immer noch sehr seltsam bzw unerwünscht:

(1)
Der Paketverwalter hat mich auf einmal gezwungen alle vom Server gebrauchten Zusatzpakete einzeln zu installieren, was er früher nie getan hat. Früher hat er selber nach den benötigten Zusatzpaketen gesucht, diese aufgelistet, und ich musste nur noch auf "OK" klicken. :?
(2)
Während der Installation erschien ein Fenster mit der Fehlermeldung: "Error connecting to MySQL: Can't connect to MySQL server on 'xxx.x.x.x' (111) MySQL stat graphs may be disabled.", welche ich vorerst einmal ignoriert habe.
(3)
Obwohl der Server ein Password hat, kann ich mich einloggen ohne es zu benutzen: die Kommandos "mysql" wie auch "mysql -u root" oder "mysql -p -u root" laufen glatt durch, bei der letzten gibt er sich mit einem leeren Password zufrieden. Aber es kommt noch wilder: wenn ich das richtige Password eingebe, heißt es auf einmal: "Access denied for user 'root'@'localhost' (using password: YES)" :shock: :shock: :shock: Einloggen funktioniert nur mit einem leeren Password.


@BlackJack:
Ich habe eine Dokumentation gelesen, ohne die wäre ich nie auf solche Anweisungen wie "update mysql.user set Password=password("neues_password'') where User='root';" gekommen. Ein Problem ist aber manchmal, dass es verschiedene Dokumentationen für verschiedene Versionen gibt und man leicht die falsche erwischen kann.
BlackJack

@Goswin: Dann müsstest Du Dich ein wenig mit dem Rechtemodell von MySQL beschäftigen und nachschauen welche Benutzer tatsächlich mit welchen Einstellungen definiert sind. Der gleiche Benutzername kann auch pro Host von dem er zugreifen können soll mit einem anderen Passwort versehen werden. Du wirst letztendlich nicht um die Dokumentation der Datenbank herum kommen. Das ist ein Stück relativ komplexe Software.
Benutzeravatar
Goswin
User
Beiträge: 363
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen
Kontaktdaten:

Jetzt habe ich mich einen Tag lang mit der Dokumentation befasst und zwei Tutorials gelesen über wie man sich anmeldet. Ich habe haufenweise neue Dinge gelernt, bin aber mit dem Passierwort-Setzen noch keinen Schritt weiter.

Das Tutorial http://dev.mysql.com/tech-resources/art ... 0003000000 ist sehr benutzerfreundlich und empfielt, das Password mit folgendem mir bereits bekannten Befehl zu setzen:
"SET PASSWORD FOR 'root'@'localhost' = PASSWORD('geheimes_passierwort');"
Dummerweise kommt dann bei mir folgende Fehlermeldung:
"ERROR 1133 (42000): Can't find any matching row in the user table"
und keiner der Tutorials hat so etwas vorgesehen.

Wenn das obige ein Bug ist, dann ist er absolut reproduzierbar, ich habe ihn schon 5-6mal reproduziert.

Vermutlich bin ich mit meiner Frage im falschen Forum, bisher habe ich aber kein besseres gefunden. Kann jemand von hier ein (funktionierendes) mysql-Forum empfehlen?
Antworten