In meiner MySQL-Installation habe ich eine InnoDB-Datenbank, von der ich weiß, dass sie sehr groß werden wird. Daher habe ich beschlossen, sie auf eine eigene Festplatte zu verschieben. Ich hatte gehofft, dies zu tun, indem ich die Dateien auf die andere Platte verschiebe und dann einen Symlink erstelle, aber ich laufe auf Fehler!Verschieben der MySQL InnoDB-Datenbank auf ein separates Laufwerk
Dies ist, was ich getan habe:
1) In my.cnf I
[mysqld] innodb_file_per_table
(Dies funktioniert, und ich habe .ibd pro FRM gesetzt haben müssen der Datenbankordner.)
2) ich habe, wenn symbolische Links sind ok mit SHOW VARIABLES LIKE "have_symlink";
(ich weiß, dass das Dokument ation sagt:
Symlinks werden vollständig nur für MyISAM-Tabellen unterstützt. Für Dateien, die von Tabellen für andere Speicher-Engines verwendet werden, können Sie seltsame Probleme bekommen, wenn Sie versuchen, verwenden symbolische Links.
Aber ich brauche Fremdschlüssel ...)
3) zog ich den Datenbankordner und einen Symlink erstellt.
4) Neu gestartet mysql und versucht:
mysql> USE db_name
Database changed
mysql> SHOW TABLES;
ERROR 1018 (HY000): Can't read dir of './db_name/' (errno: 13)
mysql> exit
[email protected]# perror 13
OS error code 13: Permission denied
Symlink ist (wie erwartet) lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/
Datenbank Ordnerberechtigungen sind drwx------ mysql mysql
alle Dateiberechtigungen sind -rw-rw---- mysql mysql
ich verwende Ubuntu 10.04 Server mit MySQL 5.1.41 (Standard von apt).
Haben Sie das schon erfolgreich gemacht?
Der einfachste Weg ist es, mysqldump zu nehmen und dann Schema Change Config zu löschen und es zu importieren, wenn Ihre Datenbank nicht wirklich groß ist. – vinothkr
Ich möchte den Rest der Datenbanken auf der Systemdiskette behalten (für Drupal und solche Dinge) und nur diese spezifische aus dem Datenverzeichnis bewegen. Entschuldigung, wenn das aus der Frage nicht klar war. – Norling
Dies könnte besser zu http://serverfault.com/ passen - Voting, um es zu migrieren ... – richsage