Solo per aggiornare questo post se qualcuno dovesse mai incontrarlo, InnoDB ora supporta la directory dei dati dalla versione 5.6. Nessun collegamento simbolico (non consigliato) e funziona sia per *nix che per Windows.
Requisiti:
- MySQL 5.6 e versioni successive
- innodb_file_per_table è abilitato
innodb_file_per_table = 1
Scenario 1 (crea nuove tabelle):
È semplice come specificare le opzioni di DATA DIRECTORY durante la creazione della tabella.
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
Scenario 2 (spostamento della tabella esistente su disco separato):
Ciò comporta alcuni passaggi in più (è richiesto il riavvio del server MySQL) ma è comunque abbastanza semplice. E non richiede che la tabella abbia l'opzione DATA DIRECTORY specificata durante la creazione della tabella.
- Arresta il server MySQL
- Sposta la tabella innodb nome_tabella File .ibd per separare disco/volume con una semplice copia del file/spostamento del file
- Crea un file di testo con estensione .isl ad es. nome_tabella .isl
- Modifica il file .isl e digita il nuovo percorso del nome_tabella File .ibd che hai spostato.
/alternative/directory/table_name.ibd
- Assicurati che il file .ibd originale nel vecchio percorso sia stato rimosso
- Avvia il server MySQL
Ora le modifiche successive alla tabella spostata verranno salvate nel file .ibd nel nuovo percorso.
Per riferimento, fare riferimento al documento ufficiale di MySQL:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html