• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SGL Datenbank geziehlt im Homeverzeichnis ablegen

ws1964

Hacker
Hallo an Alle,
Ich möchte mich mit MySQL oder jetzt mit MariaDB beschäftigen und unternehme die ersten Schritte.
Der Server läuft, ich kann eine Datenbank erstellen, Nutzer einrichten, eine Tabelle und Spalten einfügen.
Alles noch in der Kommandozeile. Es funktionieren auch einfache Abfragen, kein Problem.
Bevor ich aber Zeit in die Sache investiere würde ich ein Problem gern von Anfang an aus dem Weg geräumt haben.
Die Datenbank wird immer in der Systempartition /var/lib/mysql angelegt.
Das ist in meinen Augen inakzeptabel, da Daten in der Homepartition zu liegen haben, schließlich mache ich von den Daten ein Backup und nicht unbedingt vom System und zweitens ist die Groesse der Systempartition recht übersichtlich klein gehalten, was auch Sinn macht und von openSuse so gewollt ist.
Es gibt einen Trick mit dem man zumindest die Tabellen in der Datenpartition ablegen kann, aber die .db und .frm Dateien bleiben in der System Partition.
Wie kann ich eine Datenbank komplett in einem Verzeichnis meiner Wahl im Homeverzeichnis anlegen?

Danke für alle einfachen Tipps im Voraus.
 

bmk

Member
/etc/my.cnf

unter
[mysqld]

das richtige Verzeichnis eintragen, bei mir z.B.

datadir = /srv/mysql

bei mir liegt /srv auf einer eigenen Partition, so dass nach einer Neuinstallation diese daten nicht verloren gehen.

mfG. bmk
 

spoensche

Moderator
Teammitglied
ws1964 schrieb:
Die Datenbank wird immer in der Systempartition /var/lib/mysql angelegt.
Das ist in meinen Augen inakzeptabel, da Daten in der Homepartition zu liegen haben, schließlich mache ich von den Daten ein Backup und nicht unbedingt vom System und zweitens ist die Groesse der Systempartition recht übersichtlich klein gehalten, was auch Sinn macht und von openSuse so gewollt ist.

/var/lib/mysql ist das richtige Verzeichnis. Es ist nämlich das Homeverzeichnis des Users mysql. Da mysql ein Systemuser ist, der nur existiert, damit MySQL nicht mit root Rechten laufen muss. Wenn du die Datenbank in deinem /home Verzeichnis ablegst, dann musst du entweder den Eigentümer in mysql ändern oder der Gruppe mysql Schreibzugriff auf dieses Verzeichnis gewähren.

Nebenbei erwähnt:

Alle Systemuser haben ihr Homeverzeichnis unter /var/lib. Siehe auch FHS.

Zu 2.:

Du kannst /var auf eine separate Partition legen, was bei Servern auch üblich ist. Eine kleine Systempartition ist nicht von openSuSE gewollt, sondern nur ein Vorschlag für Desktop User. Bei Servern sieht das ganze schon wieder anders aus.
 
Oben