Unter Unix erstellen Sie eine symbolische Verknüpfung mit einer Datenbank, indem Sie zuerst ein Verzeichnis auf einer Festplatte erstellen, auf der sich genug freier Speicher befindet, und dann eine symbolische Verknüpfung zu diesem Verzeichnis aus dem MySQL-Datenverzeichnis einrichten.
shell>mkdir /dr1/databases/testshell>ln -s /dr1/databases/test/path/to/datadir
MySQL unterstützt Verknüpfungen von einem Verzeichnis auf
mehrere Datenbanken nicht. Das Ersetzen eines
Datenbankverzeichnisses durch eine symbolische Verknüpfung
funktioniert, solange Sie keine symbolischen Verknüpfungen
zwischen Datenbanken erstellen. Angenommen, Sie haben eine
Datenbank db1 im MySQL-Datenverzeichnis und
erstellen dann eine symbolische Verknüpfung
db2, die auf db1 zeigt:
shell>cdshell>/path/to/datadirln -s db1 db2
Im Ergebnis scheint für jede Tabelle tbl_a
in db1 offenbar auch eine Tabelle
tbl_a in db2 vorhanden
zu sein. Wenn ein Client db1.tbl_a und ein
anderer Client db2.tbl_a aktualisiert, sind
Probleme vorprogrammiert.
Wenn Sie dies aber wirklich tun müssen, ist es möglich,
indem Sie die Quelldatei
mysys/my_symlink.c ändern. Suchen Sie
dort nach folgender Anweisung:
if (!(MyFlags & MY_RESOLVE_LINK) ||
(!lstat(filename,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
Ändern Sie diese wie folgt ab:
if (1)
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.
