En mi instalación MySQL tengo una base de datos InnoDB que sé que crecerá muy grande, así que he decidido moverla a su propio disco. Tenía la esperanza de hacer esto moviendo los archivos al otro disco y luego crear un enlace simbólico pero me encontré con errores.Mover la base de datos MySQL InnoDB a una unidad separada
Esto es lo que he hecho:
1) En my.cnf he puesto
[mysqld] innodb_file_per_table
(esto funciona, tengo una .ibd por .frm en la carpeta de base de datos.)
2) he comprobado si los enlaces simbólicos son bien con SHOW VARIABLES LIKE "have_symlink";
(sé que el documento ation dice:
Los enlaces simbólicos son totalmente compatibles solo con tablas MyISAM. Para archivos usados por tablas para otros motores de almacenamiento, usted puede tener problemas extraños si intenta utilizar enlaces simbólicos.
Pero necesito claves externas ...)
3) Me moví la carpeta de base de datos y cree un enlace simbólico.
4) Recomenzó MySQL y trató:
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
enlace simbólico es (como se esperaba) lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/
permisos de carpeta de base de datos son drwx------ mysql mysql
todos los permisos de archivo son -rw-rw---- mysql mysql
estoy usando Servidor Ubuntu 10.04 con MySQL 5.1.41 (predeterminado de apt).
¿Alguno de ustedes ha hecho esto con éxito?
La manera más fácil es tomar mysqldump y luego soltar la configuración de cambio de esquema e importarla, si su base de datos no es realmente grande. – vinothkr
Quiero mantener el resto de las bases de datos en el disco del sistema (para drupal y cosas por el estilo) y solo mover esta específica del directorio de datos. Lo siento si esto no fue claro a partir de la pregunta. – Norling
Esto podría ser más apropiado para http://serverfault.com/ - votar para migrarlo ... – richsage