Apenas para atualizar este post se alguém se deparar com isso, o InnoDB agora suporta o diretório de dados desde a versão 5.6. Sem link simbólico (não recomendado) e funciona tanto para *nix quanto para Windows.
Requisitos:
- MySQL 5.6 e superior
- innodb_file_per_table está ativado
innodb_file_per_table = 1
Cenário 1 (criar novas tabelas):
É tão simples quanto especificar as opções DATA DIRECTORY durante a criação da tabela.
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
Cenário 2 (mover a tabela existente para um disco separado):
Isso envolve mais algumas etapas (é necessário reiniciar o servidor MySQL), mas ainda é bastante simples. E não requer que a tabela tenha a opção DATA DIRECTORY especificada durante a criação da tabela.
- Parar o servidor MySQL
- Mover a tabela innodb table_name arquivo .ibd para separar disco/volume por simples cópia de arquivo/mover arquivo
- Crie um arquivo de texto com extensão .isl, por exemplo table_name .isl
- Edite o arquivo .isl e digite o novo caminho para table_name .ibd que você moveu.
/alternative/directory/table_name.ibd
- Certifique-se de que o arquivo .ibd original no caminho antigo foi removido
- Iniciar servidor MySQL
Agora as alterações subsequentes na tabela movida serão salvas no arquivo .ibd no novo caminho.
Para referência, consulte o documento oficial do MySQL:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placeing.html