Me gustaría usar tanto en Ubuntu como en Windows (arranque dual) mis archivos de base de datos MySql que residen en una partición NTFS. ¿Funcionará? ¿Alguna trampa?
Me gustaría usar tanto en Ubuntu como en Windows (arranque dual) mis archivos de base de datos MySql que residen en una partición NTFS. ¿Funcionará? ¿Alguna trampa?
Respuestas:
Sí, funciona pero con algunas peculiaridades. MySQL usa los mismos formatos de archivo en todas las plataformas, por lo que todo lo que necesita es compartir el directorio de datos. Un problema es que el directorio de datos debe tener mysql como propietario y grupo en ubuntu. Y Windows no distingue entre mayúsculas y minúsculas y Linux distingue entre mayúsculas y minúsculas, así que mantenga todos los nombres uniformes: ya sea el nombre completo en minúscula o mayúscula, pero no los mezcle.
De principio a fin; Si ya tiene las cosas configuradas, es posible que necesite algunos ajustes para adaptarse a su configuración:
sdXN
por ahora).Mueva el directorio de datos mysql de Ubuntu a la nueva partición.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
utilizando mv
permisos de guardado.
Hacer un nuevo directorio mysql
sudo mkdir /var/lib/mysql
Monte la partición NTFS en /var/lib/mysql
. Cambie el nombre del dispositivo a lo que obtuvo cuando creó la partición NTFS.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
Para montar automáticamente en el arranque, busque el UUID de la partición y localice y edite /etc/fstab
.
ls -l /dev/disk/by-uuid
locale -a
sudo gedit /etc/fstab
UUID={number_found_with_the_ls-l} /var/lib/mysql ntfs-3g uid=mysql,gid=mysql,umask=0077,locale={your_locale}.utf8 0 0
Cambie la ruta 'datadir' /etc/mysql/my.cnf
para que apunte a/var/lib/mysql/mysql_data
Inicie el servidor mysql y pruébelo.
Edite el archivo de configuración de Windows ( my.ini
) y establezca 'datadir' en X:/mysql_data
(reemplace X:
donde lo monta en Windows).
Compilado del tema 1442148 en UF.org .
Tengo la versión de Ubuntu funcionando; en parte no probado ya que no tengo Windows
lower_case_table_names=1
funciona bien. Sin sus opciones de montaje, me encontré con este error (que en verdad es un error).
Si ha agregado una partición de Linux a un entorno anterior solo para Windows, puede usar la base de datos en su lugar con solo algunos ajustes menores. Versión larga aquí , versión corta:
Tendrá mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
que ejecutarse al inicio (suponiendo que monte su unidad de Windows para /media/windows
usar fstab).
Para evitar la comprobación del tamaño de registro de innodb, deberá mover los registros de innodb para la partición de ubuntu. En my.cnf
, agregue innodb_log_group_home_dir = /var/log/mysql
para que los registros vayan al lado del registro de errores mysql.