it-swarm.com.de

Unterschiedliche Speicherorte für MySQL-Datenbanken?

Kann ich MySQL so konfigurieren, dass eine bestimmte Datenbank an einem separaten Ort auf der Festplatte gespeichert wird?

Ich möchte weiterhin, dass alle neuen Datenbanken an den Standardspeicherort verschoben werden. Es gibt jedoch eine bestimmte Datenbank, die ich in meinem Dropbox-Ordner speichern möchte, damit sie zwischen einigen Computern synchronisiert bleibt.

Wie kann ich das machen?

17
Colin

Natürlich kannst du! Sie müssen Root-Berechtigung erteilen. Lesen Sie die ln Manualseiten.

MySQL speichert die Datenbankdaten in getrennten Verzeichnissen in /var/lib/mysql. Ich denke, zuerst musste man ein Verzeichnis erstellen, in das die Dateien der ausgewählten Datenbank abgelegt werden sollen. Erteilen Sie die Root-Berechtigung, stoppen Sie MySQL-Deamon:

# /etc/init.d/mysql stop

Kopieren Sie Ihre Daten in Ihren neuen Ordner:

# cp /var/lib/mysql/DATABASENAME /path/to/new/database/dir

Entfernen Sie Ihr altes Verzeichnis aus MySQL-Datendateien: (Warnung! IMMER zuerst SQL-Dump erstellen !!!)

# rm -R /var/lib/mysql/DATABASENAME

Machen Sie einen Symlink zurück zum MySQL-Datenverzeichnis: (Achtung! Lesen Sie zuerst die Manpage von ln !!!)

# ln -s /full/path/to/new/database/dir /var/lib/mysql/DATABASENAME

Wenn Sie fertig sind, starten Sie MySQL:

# /etc/init.d/mysql start

Warnung! Wenn Ihr neues Verzeichnis nicht von MySQL geschrieben und gelesen werden kann, würde das nicht funktionieren! Beispiel, das häufigste Problem: Sie legen Ihr neues Datenverzeichnis in Ihrem Home-Ordner ab, Ihr Home-Ordner wird von anderen lesegeschützt (z. B .: drwxrwx --- Sie, Sie, IhrDir).

Fragen Sie, ob Sie andere Dinge über diese Methode wissen wollen!

27
antivirtel

Beachten Sie, dass Sie bei Verwendung von Ubuntu auch einen Eintrag in die AppArmour-Konfigurationsdatei /etc/apparmor.d/usr.sbin.mysqld einfügen müssen. Andernfalls erhalten Sie weiterhin Schreibfehler, obwohl Sie Dateien und Ordner ändern Berechtigungen.

3
Andrea Moro