Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Innodb; vários diretórios de dados


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:
  1. MySQL 5.6 e superior
  2. 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.
  1. 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.
  1. Parar o servidor MySQL
  2. Mover a tabela innodb table_name arquivo .ibd para separar disco/volume por simples cópia de arquivo/mover arquivo
  3. Crie um arquivo de texto com extensão .isl, por exemplo table_name .isl
  4. Edite o arquivo .isl e digite o novo caminho para table_name .ibd que você moveu./alternative/directory/table_name.ibd
  5. Certifique-se de que o arquivo .ibd original no caminho antigo foi removido
  6. 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