Nella mia installazione MySQL ho un database InnoDB che so che diventerà molto grande, quindi ho deciso di spostarlo sul proprio disco. Speravo di farlo spostando i file sull'altro disco e quindi creando un link simbolico ma mi imbatto in errori!Spostamento del database InnoDB MySQL su unità separata
Questo è quello che ho fatto:
1) In my.cnf ho impostato
[mysqld] innodb_file_per_table
(Questo funziona, ho una .ibd per .frm in la cartella del database.)
2) ho controllato se link simbolici sono ok con SHOW VARIABLES LIKE "have_symlink";
(so che il documento ation dice:
I symlink sono completamente supportati solo per le tabelle MyISAM . Per i file utilizzati dalle tabelle per altri motori di archiviazione, è possibile che ottenga strani problemi se si tenta di utilizzare i collegamenti simbolici con lo .
Ma ho bisogno di chiavi esterne ...)
3) ho spostato la cartella del database e ha creato un link simbolico.
4) Ha ricominciato mysql e ha cercato:
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
link simbolico è (come previsto) lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/
autorizzazioni delle cartelle di database sono drwx------ mysql mysql
tutti i permessi dei file sono -rw-rw---- mysql mysql
sto usando Server Ubuntu 10.04 con MySQL 5.1.41 (predefinito da apt).
Qualcuno l'ha fatto con successo?
Il modo più semplice è prendere mysqldump e quindi eliminare la configurazione di configurazione e importarla, se il DB non è molto grande. – vinothkr
Voglio mantenere il resto dei database sul disco di sistema (per drupal e cose simili) e spostare solo quello specifico dalla directory dei dati. Scusa se questo non era chiaro dalla domanda. – Norling
Questo potrebbe essere più adatto a http://serverfault.com/ - votare per migrarlo ... – richsage