sql >> Base de Datos >  >> RDS >> Mysql

Innodb; varios directorios de datos

Solo para actualizar esta publicación si alguien alguna vez se encuentra con esto, InnoDB ahora admite el directorio de datos desde la versión 5.6. Sin enlace simbólico (no recomendado) y funciona tanto para *nix como para Windows.

Requisitos:

  1. MySQL 5.6 y superior
  2. innodb_file_per_table está habilitado

innodb_file_per_table = 1

Escenario 1 (crear nuevas tablas):

Es tan simple como especificar las opciones del DIRECTORIO DE DATOS durante la creación de la tabla.

  1. CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';

Escenario 2 (mover la tabla existente a un disco separado):

Esto implica algunos pasos más (se requiere reiniciar el servidor MySQL) pero sigue siendo bastante sencillo. Y no requiere que la tabla tenga la opción DATA DIRECTORY especificada durante la creación de la tabla.

  1. Detener servidor MySQL
  2. Mover la tabla innodb table_name Archivo .ibd para separar el disco/volumen mediante una simple copia/movimiento de archivos
  3. Cree un archivo de texto con extensión .isl, p. nombre_tabla .isl
  4. Edite el archivo .isl y escriba la nueva ruta al table_name archivo .ibd que movió./alternative/directory/table_name.ibd
  5. Asegúrese de que se eliminó el archivo .ibd original en la ruta anterior
  6. Iniciar servidor MySQL

Ahora los cambios posteriores a la tabla movida se guardarán en el archivo .ibd en la nueva ruta.

Para referencia, consulte el documento oficial de MySQL:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placeing.html