[gelöst]my.cnf fehlt nach Installation mariadb in stretch

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

[gelöst]my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 26.09.2016 16:30:02

Ich möchte meine Datenbank aus der Debian-Jessie-Installation auch in meiner Debian-Stretch-Installation nutzen. Da meine Datenbank nicht im Standardpfad sondern auf einer meiner Datenpartitionen liegt, muß ich die my.cnf editieren, um den Eintrag datadir zu modifizieren. Dies funktioniert auch auf meinem Notebook einwandfrei.

Auf meinem Desktoprechner aber kann ich nach Installation vom Mariadb keine my.cnf finden, wie sie gewöhnlich aufgebaut ist. Die Anwendung läuft aber prinzipiell.

/etc/mysql/my.cnf verweist auf /etc/alternatives/my.cnf

/etc/alternatives/my.cnf verweist auf /etc/mysql/mariadb.cnf

Und diese hat folgenden Inhalt

Code: Alles auswählen

# The MariaDB configuration file
#
# The MariaDB/MySQL tools read configuration files in the following order:
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
# 4. "~/.my.cnf" to set user-specific options.
#
# If the same option is defined multiple times, the last one will apply.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
Das ist natürlich nicht die my.cnf, die ich editieren soll. Muß ich mein Problem unter Testing-Status verbuchen und einfach nur abwarten oder gibt es Möglichkeiten dem Rechner eine my.cnf manuell unterzuschieben? Die my.cnf meines Notebooks wird jedenfalls nicht akzeptiert, obwohl die Pfade zur Datenbank gleich aufgebaut sind.

Danke für jede Hilfe.

Gruss H.
Zuletzt geändert von halo44 am 28.09.2016 19:51:34, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von DeletedUserReAsG » 26.09.2016 16:32:21

Du solltest die wesentlichen Sachen aus deiner my.cnf ggf. an die aktuelle Syntax anpassen und unter /etc/mysql/conf.d/ ablegen.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 26.09.2016 16:46:19

Danke für Deinen Beitrag. Hierzu muß ich fragen, was Du unter "meiner" my.cnf verstehst?

Die Datei unter /etc/mysql/mariadb.cnf oder die von meinem Notebook? Und das dann in /etc/mysql/conf.d/ ablegen?

Gruss H.

DeletedUserReAsG

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von DeletedUserReAsG » 26.09.2016 16:50:00

Das, was du in deiner alten my.cnf angepasst hast, solltest du für die Verwendung unter der gegebenen Version anpassen und die resultierende Datei in das entsprechende Verzeichnis packen, damit sie geladen wird.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 26.09.2016 17:10:37

Danke, werde ich mir für morgen mal vornehmen.

Gruss H.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 27.09.2016 10:12:29

Leider komme ich nicht richtig weiter. Egal, ob ich die angepasste Datei als mariadb.cnf oder my.cnf in das Verzeichnis /etc/mysql/conf.d oder als mariadb.cnf ins Verzeichnis /etc/mysql einstelle, erhalte ich nach Neustart beim Versuch meine Datenbank auszuwählen
ERROR 1049 (42000): Unknown database 'halo44db'
.

Vielleicht verstehe ich hier was falsch. Ich benötige dann etwas "Nachhilfe".

Nochmal der Hinweis: auf meinem Notebook läuft die Datenbank ebenfalls mit Stretch einwandfrei.

Gruss H.

Eventuell ist noch interessant, welche Meldungen ich u.a. bei der Installation erhalte:

Code: Alles auswählen

dpkg: mysql-server-core-5.6: Abhängigkeitsprobleme, wird aber wie gefordert dennoch entfernt:
 akonadi-backend-mysql hängt ab von mysql-server-core-5.6 | virtual-mysql-server-core; aber:
  Paket mysql-server-core-5.6 soll entfernt werden.
  Paket virtual-mysql-server-core ist nicht installiert.
  Paket mysql-server-core-5.6, das virtual-mysql-server-core bereitstellt, soll entfernt werden.
 akonadi-backend-mysql hängt ab von mysql-server-core-5.6 | virtual-mysql-server-core; aber:
  Paket mysql-server-core-5.6 soll entfernt werden.
  Paket virtual-mysql-server-core ist nicht installiert.
  Paket mysql-server-core-5.6, das virtual-mysql-server-core bereitstellt, soll entfernt werden.
und vor allem

Code: Alles auswählen

 
 update-alternatives: /etc/mysql/mariadb.cnf wird verwendet, um /etc/mysql/my.cnf (my.cnf) im automatischen Modus bereitzustellen

DeletedUserReAsG

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von DeletedUserReAsG » 27.09.2016 10:24:41

Man kann den mysqld mit den entsprechenden Optionen (debug, verbose) im Vordergrund starten um zu schauen, was genau passiert. Auch kann man es loggen lassen und in den Logs schauen, ob was nicht passt. Und ja, dein Paketmanagement solltest du fixen, bevor du weitermachst.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 27.09.2016 13:05:44

niemand hat geschrieben:Man kann den mysqld mit den entsprechenden Optionen (debug, verbose) im Vordergrund starten um zu schauen, was genau passiert ...
Da ich nicht weiß, wie ich mysqld im Vordergrund starten kann, habe ich alternativ mal

Code: Alles auswählen

mysqladmin variables
gestartet. Hierbei erfahre ich, daß datadir auf /var/lib/mysql/ steht. Also wird meine selbst erstellte *.cnf nicht angewendet. Klar wird auch so meine Datenbank nicht gefunden.
niemand hat geschrieben:... Und ja, dein Paketmanagement solltest du fixen, bevor du weitermachst.
Ich habe versuchsweise mal die mysql-client-core-5.6 und mysql-server-core-5.6 vor der Installation von mariadb-server-10.0 deinstalliert, was auch ohne Fehlermeldung gelang. Trotzdem kann ich anschließend nach Installation von mariadb meine Datenbank nicht finden. Leider bin ich auf weitere Hilfe angewiesen. Ich bitte um Nachsicht.

Gruss H.

DeletedUserReAsG

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von DeletedUserReAsG » 27.09.2016 14:38:05

Wie man‘s in den Debugmodus bringt, steht in der Bedienungsanleitung. Dann würde es wahrscheinlich ausgeben, was ihm an deiner Config nicht gefällt. Mangels Informationen mal ein Schuss ins Blaue: Eigentümer/Gruppe und Rechte der betreffenden Datei sind passend?

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 27.09.2016 20:02:26

niemand hat geschrieben:... Mangels Informationen mal ein Schuss ins Blaue: Eigentümer/Gruppe und Rechte der betreffenden Datei sind passend?
Das war ein wertvoller Hinweis. Zwar ist der Pfad zum datadir=/Daten-2/mysql-debian richtig zu Eigentümer/Gruppe mysql/root zugewiesen, allerdings
gehören alle darunter liegenden Ordner und Dateien statd/root, obwohl alle unter Jessie mysql/root ausweisen. Es handelt sich immerhin um die identischen Elemente.

Wenn ich nun in Stretch die Eigentumsverhältnisse auf mysql/root ändere, dann mag zwar mariadb meine my.cnf immer noch nicht, aber wenn ich den Dienst mit

Code: Alles auswählen

mysqld_safe --datadir=/Daten-2/mysql-debian --log-error=/Daten-1/mysql-error-2.txt
starte, dann kann ich anschließend auf meine private Datenbank zugreifen.

Das ist natürlich keine Dauerlösung, vor allem, wenn ich als nächstes noch phpmyadmin einrichten will. Auch ist das Grundproblem nicht gelöst, daß ich mein datadir nicht über eine my.cnf zuweisen kann.

Ich werde für heute erstmal Schluss machen, freue mich aber über weitere Hilfsangebote.

Gruss H.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: my.cnf fehlt nach Installation mariadb in stretch

Beitrag von halo44 » 28.09.2016 13:23:53

Inzwischen kann ich auf meine Datenbank zugreifen. Was habe ich gemacht?

Ich habe die Pakete mysql-client-core-5.6, mysql-server-core-5.6 und mysql-common deinstalliert. Dann diese Paketquelle in die /etc/apt/sources.list eingestellt

Code: Alles auswählen

deb [arch=i386,amd64] http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian sid main
anschließend mariadb-server-10.1 installiert, was fehlerfrei ablief und jetzt auch die gewohnte my.cnf in /etc/mysql erstellte.

Danach noch den Eintrag zum datadir auf meine Datenbank abgeändert und die Rechte dieses Ordners und seiner untergeordneten Elemente von statd/root auf mysql/root geändert.

Damit war jetzt der Zugriff auf meine Datenbank endlich möglich.

Meine Probleme waren (abgesehen von meinem Wissensstand) einmal bedingt durch die mariadb-Version 10.0.27 in den Paketquellen, die mir keine my.cnf erstellte. Zum zweiten bedingt durch eine unterschiedliche Zuteilung der numerischen User-IDs in den beiden Installationen. Dies führte dann zu mangelnden Rechten beim Zugriff auf den Datenbankordner, worauf niemand hilfreich hinwies. Dafür nochmals vielen Dank.

Einen Rat bräuchte ich noch: sollte ich jetzt die o.a. Paketquelle wieder entfernen, da ja irgendwann auch in den normalen Repos die Version 10.1 auftauchen wird?

Gruss H.

Antworten