¿Puedo configurar MySQL para almacenar una base de datos específica en un lugar separado en el disco?
Todavía quiero que las bases de datos nuevas vayan a la ubicación predeterminada, pero hay una base de datos específica que me gustaría almacenar en mi carpeta de Dropbox para que pueda permanecer sincronizada entre algunas computadoras.
¿Cómo puedo hacer esto?
Respuestas:
¡Por supuesto que puede! Tienes que otorgar permisos de root . Lea las páginas del manual en ln .
MySQL almacena los datos de la base de datos en directorios separados
/var/lib/mysql
. Creo que al principio tenía que hacer un directorio, donde desea colocar los archivos de la base de datos seleccionada. Otorgue permisos de root, detenga el demonio de MySQL:Copie sus datos a su nueva carpeta:
Elimine su antiguo directorio de los archivos de datos MySQL: ( ¡Advertencia! ¡SIEMPRE haga que el volcado de SQL sea el primero! )
Haga un enlace simbólico de nuevo al directorio de datos MySQL: ( ¡Atención! ¡Lea la página de manual de ln primero! )
Después de eso, estás listo, inicia tu MySQL:
¡Advertencia! Si su nuevo directorio no es de escritura y legible por MySQL, ¡eso no funcionaría! Ejemplo, el problema común: coloca su nuevo directorio de datos en su carpeta de inicio, su carpeta de inicio está protegida contra lectura por otros (ej: drwxrwx --- usted es su dirección).
¡Pregunte, si quiere saber otras cosas sobre ese método!
fuente
/etc/apparmor.d/*mysqld
para incluir el nuevo directorio también. Luego,sudo service apparmor reload
antes de reiniciar MySQL./etc/apparmor.d/local
(en mi instalación ya hay un usr.sbin.mysqld allí), agregar un solo lo/full/path/to/new/database/dir/** rwk,
hizo por mí ...fstab
como este para que esa unidad se monta en el sistema de archivos después de arranque, ahora todo funciona.Tenga en cuenta que si está utilizando Ubuntu, también debe agregar una entrada en el archivo de configuración de AppArmour /etc/apparmor.d/usr.sbin.mysqld; de lo contrario, seguirá recibiendo errores de permisos de escritura aunque cambie los archivos y la carpeta permisos
fuente