Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] leap 15.2 mysql neu installieren

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
gorgonz
Hacker
Hacker
Beiträge: 271
Registriert: 13. Mai 2006, 19:37
Wohnort: Frankenland

[gelöst] leap 15.2 mysql neu installieren

Beitrag von gorgonz »

Heute ist nicht mein Tag. Wollte das initiale PW für mysql setzen - ähm so wie immer. Aber heute habe ich irgendwas verkehrt gemacht und jetzt ist das PW nicht mehr leer, aber mir auch nicht bekannt :-(.

Die normalen Kommandos für so einen Fall ("update user set password", "--skip-grant-tables", "alter user") klappen einfach nicht.

Nun habe ich die gute Situation, dass noch gar keine DB von mir eingerichtet ist.

Wisst ihr einen einfachen Weg, wie ich wieder den Zustand nach Installation (mit leerem Passwort) herbekommen kann?

Habs versucht, indem ich apache2, mysql und mariadb deinstalliert und wieder installiert habe. Hat leider nicht gefunzt.

Muss ich zusätzlich nach der Deinstallation bestimmte Dateien löschen?

Danke schon mal für gewogene Tipps ;-)
Zuletzt geändert von gorgonz am 24. Jan 2021, 21:08, insgesamt 1-mal geändert.
PC (I7-2600K): Leap 15.1, QT 5.9.7, Kernel 4.12.14-lp151.28.63-default
PC (Rizen 5 3600): Leap 15.2, QT 5.12.7, Kernel 5.3.18-lp152*-default
Laptop: Samsung RC530 (I7-2670QM), Tumbleweed, QT 5.11.0, Kernel 4.17.5-1-default
Benutzeravatar
gehrke
Moderator
Moderator
Beiträge: 2256
Registriert: 10. Nov 2012, 11:00

Re: leap 15.2 mysql neu installieren

Beitrag von gehrke »

Hmm, also bin kein Experte für leap (und ich hatte noch keinen Kaffee!), aber wird der Datenbestand von mysql/mariadb nicht unter /var/lib/mysql abgelegt?

Also wenn noch gar keine Daten vorliegen, sollte eine Deinstallation der Software via zypper und ein Verschieben oder Löschen des obigen Verzeichnisses doch für tabula rasa sorgen und danach durch erneute Installation frisch initiialisiert werden.
Keinen Bock mehr auf zentralisierte soziale Netzwerke von US-Konzernen?
Join the fediverse: https://fediverse.party/en/fediverse/ (Friendica, Mastodon, Diaspora und vieles mehr)
Benutzeravatar
susejunky
Advanced Hacker
Advanced Hacker
Beiträge: 831
Registriert: 19. Sep 2014, 18:22

Re: leap 15.2 mysql neu installieren

Beitrag von susejunky »

Hallo gorgonz,
gorgonz hat geschrieben: 23. Jan 2021, 00:00... Habs versucht, indem ich apache2, mysql und mariadb deinstalliert und wieder installiert habe. Hat leider nicht gefunzt.
das De-Installieren des/der Programmpaket(s/e) mariadb/mysql löscht NICHT die bereits angelegte(n) Datenbank(en)!

Verwendest Du mysql oder mariadb?

Ob Du beide Datenbanken parallel nutzen kannst, kann ich Dir nicht sagen. Aber da mariadb die selben Befehle nutzt wie mysql könnte ich mir vorstellen, das eine parallele Nutzung nicht ganz unproblematisch ist.

Ansonsten gilt für beide Datenbanken:
  • Mit dem Parameter datadir in der Datei /etc/my.cnf wird festgelegt, welches Daten-Verzeichnis der aktuell laufende Datenbankprozess nutzt. Die Standardeinstellung ist /var/lib/mysql. Wenn mariadb mit

    Code: Alles auswählen

    # systemctl start mysql
    gestartet wird, sucht es in dem durch datadir benannten Verzeichnis eine Datenbank und falls dort noch keine existiert, legt es eine neue an (d.h. die Schemas mysql, performance-schema und test sowie diverse Log-Dateien).
  • Mit dem Befehl mysql_install_db kannst Du eine vollständig neue Datenbank (d.h. die Schemas mysql, performance-schema und test sowie diverse Log-Dateien) anlegen. Weitere Details hierzu siehe

    Code: Alles auswählen

    > man mysql_install_db
Viele Grüße

susejunky
gorgonz
Hacker
Hacker
Beiträge: 271
Registriert: 13. Mai 2006, 19:37
Wohnort: Frankenland

Re: leap 15.2 mysql neu installieren

Beitrag von gorgonz »

@gehrke, @susejunky: erstmal vielen Dank für eure Anregungen zu /var/lib/myaql :-). Ich hab mir das gleich mal angesehen. Ja, das stimmt. Wenn ich den Ordner umbenenne und mysql neu starte, werden bereits die Ordner mysql, test wieder neu angelegt.

Ob ich mysql oder mariadb verwende weiß ich selbst nicht definitiv. Gehe von letzterem aus. Verwende jedenfalls immer die mysql tools und vermute, das wird auf maria abgebildet. Entnehme ich auch Meldungen wie "Jan 24 16:10:47 localhost.localdomain systemd[1]: Starting MariaDB database server...".

Doch zurück. Da ich trotzdem nicht weiterkomme, muss sich entweder das Vorgehen beim Setzen des root PW geändert haben oder das Löschen des mysql Verzeichnisses bewirkt nicht das Rücksetzen des PW (auf leer).

Ich fange mit dem an, was für mich greifbar ist. Meine verwendeten Befehle sind:

Code: Alles auswählen

mysql
UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
Der geht ja nicht mehr seit ca Leap 15.x, ist also erwartet

Code: Alles auswählen

mysql -uroot -h localhost
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secret';
Da bekomme ich die Meldung

Code: Alles auswählen

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Code: Alles auswählen

systemctl stop mysql
mysqld_safe --skip-grant-tables &
mysql -uroot
Da bekomme ich die Fehlermeldung

Code: Alles auswählen

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysql/mysql.sock' (2)
Aber heute ist ja wieder ein besserer Tag. Googeln ergibt, dass der mysqld_safe rechtetechnisch die socket Datei nicht anlegen kann (warum auch immer).
Alternativer Weg: skip-grant-tables nicht als Aufrufparameter verwenden, sondern konfigurieren. Das geht über die Datei /etc/my.cnf. Dort zwei Zeilen im Abschnitt [] gesetzt:

Code: Alles auswählen

[mysqld]
# activate only for resetting the root pw
skip-grant-tables = 1
plugin-load-add = auth_socket.so

Trotzdem den socket Fehler bekommen

Dann gab es noch die Idee den socket bei laufendem db-server zu kopieren und nach beenden des Dienstes einzuspielen.Seufz, geht jedenfalls nicht per cp. Da kommt
"p: 'mysql.sock' kann nicht zum Lesen geöffnet werden: Kein passendes Gerät bzw. keine passende Adresse gefunden"

Ok, für den Moment reicht es mir mal wieder. Vielleicht helfen die detaillierten Angaben, dass ein Denkfehler von mir schneller auffindabr ist ;-)
PC (I7-2600K): Leap 15.1, QT 5.9.7, Kernel 4.12.14-lp151.28.63-default
PC (Rizen 5 3600): Leap 15.2, QT 5.12.7, Kernel 5.3.18-lp152*-default
Laptop: Samsung RC530 (I7-2670QM), Tumbleweed, QT 5.11.0, Kernel 4.17.5-1-default
Benutzeravatar
susejunky
Advanced Hacker
Advanced Hacker
Beiträge: 831
Registriert: 19. Sep 2014, 18:22

Re: leap 15.2 mysql neu installieren

Beitrag von susejunky »

Hallo gorgonz,
gorgonz hat geschrieben: 24. Jan 2021, 17:02... Meine verwendeten Befehle sind:

Code: Alles auswählen

mysql
UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
also ich habe das erstmalige setzen des Datenbank-Administratorkennworts bislang immer mit

Code: Alles auswählen

# mysqladmin -u root password 'HIER_DAS_NEUE_ADMINISTRATORKENNWORT'
vorgenommen.

Viele Grüße

susejunky
gorgonz
Hacker
Hacker
Beiträge: 271
Registriert: 13. Mai 2006, 19:37
Wohnort: Frankenland

Re: leap 15.2 mysql neu installieren

Beitrag von gorgonz »

@susejunky: you made my day :-)

Hat geklappt, alles gut :-)
PC (I7-2600K): Leap 15.1, QT 5.9.7, Kernel 4.12.14-lp151.28.63-default
PC (Rizen 5 3600): Leap 15.2, QT 5.12.7, Kernel 5.3.18-lp152*-default
Laptop: Samsung RC530 (I7-2670QM), Tumbleweed, QT 5.11.0, Kernel 4.17.5-1-default
Antworten