J'ai mon disque dur partitionné avec deux partitions, donc je peux facilement réinstaller Ubuntu et essayer différentes versions sans perdre mes données de répertoire personnel. Il est configuré comme ceci:
20GB -> / (root)
180GB -> /home
Je fais beaucoup de travail de développement, j'ai donc un /var/www
lien symbolique vers mon dossier /home/valorin/workspace
.
Mais je veux aussi le faire avec mes fichiers de données MySQL, car je m'énerve à chaque fois que je réinstalle ma machine, je dois faire un vidage SQL complet puis restaurer toutes les bases de données avant de pouvoir faire plus de travail.
Quelle est la meilleure façon de le faire sans casser MySQL?
Le super utilisateur a de belles instructions étape par étape sur la façon de résoudre ce problème
Voici un autre ensemble d'instructions pour faire la même chose http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html
Ici, il est republié. Allez voter l'original si vous le pouvez sur super utilisateur.
Après une certaine confusion générale sur les autorisations, j'ai réalisé que le problème n'était pas que je n'avais pas mes autorisations et mes chemins corrects, mais qu'AppArmor empêchait mysql de lire et d'écrire vers le nouvel emplacement.
Voici ma solution:
Arrêtez d'abord MySQL pour que rien de bizarre ne se passe pendant que vous jouez:
Déplacez ensuite tous les répertoires de la base de données vers leur nouveau domicile:
Ne déplacez pas les fichiers, ils seront générés par mysql, déplacez simplement les dossiers (qui sont les bases de données).
Ensuite, demandez poliment à AppArmor d'autoriser mysql à utiliser le nouveau dossier:
ajouter des lignes:
Dites ensuite à mysql que le datadir a bougé:
changer de ligne:
à:
REMARQUE: Selon la configuration de votre base de données, vous devrez peut-être également modifier innodb-data-home-dir, etc.
Redémarrez ensuite AppArmor pour lire les nouveaux paramètres:
Et redémarrez MySQL en utilisant le nouveau datadir:
J'espère que cela t'aides!
la source
Ce n'est vraiment pas spécifique à Ubuntu. Néanmoins, voici quelque chose qui pourrait vous aider: http://developer.spikesource.com/wiki/index.php/How_to_change_the_mysql_database_location
la source
Pour ceux qui comme moi travaillent avec VirtualBox et doivent déplacer le datadir MySQL vers un dossier partagé sur le système hôte, suivez le didacticiel simple à http://vacilando.org/en/article/moving-mysql-data-files-virtualbox -dossier partagé
la source
Cela ne fonctionnera pas comme ça.
l'utilisateur mysql doit avoir le droit d'écrire dans le nouveau répertoire:
la source