J'aimerais utiliser à la fois Ubuntu et Windows (double démarrage) mes fichiers de base de données MySql résidant sur une partition NTFS. Est-ce que ça marchera? Des accrochages?
J'aimerais utiliser à la fois Ubuntu et Windows (double démarrage) mes fichiers de base de données MySql résidant sur une partition NTFS. Est-ce que ça marchera? Des accrochages?
Réponses:
Oui, cela fonctionne mais avec quelques bizarreries. MySQL utilise les mêmes formats de fichiers sur toutes les plateformes, il vous suffit donc de partager le répertoire de données. Un problème est que le répertoire de données doit avoir mysql comme propriétaire et groupe dans ubuntu. Et Windows est insensible à la casse et Linux est sensible à la casse, donc gardez tous les noms uniformes: le nom entier en minuscules ou en majuscules mais ne les mélangez pas.
Du début à la fin; si vous avez déjà des choses configurées, cela pourrait nécessiter quelques ajustements pour s'adapter à votre configuration:
sdXN
pour l'instant).Déplacez le répertoire de données mysql d'Ubuntu vers la nouvelle partition.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
en utilisant mv
enregistre les autorisations.
Créer un nouveau répertoire mysql
sudo mkdir /var/lib/mysql
Montez la partition NTFS sur /var/lib/mysql
. Remplacez le nom de périphérique par ce qu'il a obtenu lorsque vous avez créé la partition NTFS.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
Pour monter automatiquement au démarrage, trouvez l'UUID et les paramètres régionaux de la partition et modifiez-les /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
Modifiez le chemin «datadir» /etc/mysql/my.cnf
pour pointer vers/var/lib/mysql/mysql_data
Démarrez le serveur mysql et testez-le.
Modifiez le fichier de configuration Windows ( my.ini
) et définissez 'datadir' sur X:/mysql_data
(remplacez l' X:
endroit où vous le montez sous Windows).
Compilé à partir du sujet 1442148 sur UF.org .
J'ai fait fonctionner la version Ubuntu; donc en partie non testé car je n'ai pas Windows
lower_case_table_names=1
fonctionne très bien. Sans vos options de montage, j'ai rencontré ce bug (qui est à mon humble avis un bug).
Si vous avez ajouté une partition Linux à un environnement précédemment uniquement Windows, vous pouvez utiliser la base de données en place avec seulement quelques ajustements mineurs. Version longue ici , version courte:
Vous devrez mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
exécuter au démarrage (en supposant que vous montez votre lecteur Windows pour /media/windows
utiliser fstab).
Afin de contourner la vérification de la taille des journaux d'innodb, vous devrez déplacer les journaux d'innodb pour la partition ubuntu. Dans my.cnf
, ajoutez de innodb_log_group_home_dir = /var/log/mysql
sorte que les journaux se trouvent à côté du journal des erreurs mysql.