Puis-je configurer MySQL pour stocker une base de données spécifique dans un endroit séparé sur le disque?
Je veux toujours que toutes les nouvelles bases de données se rendent à l'emplacement par défaut, mais il y a une base de données spécifique que j'aimerais avoir stockée dans mon dossier Dropbox afin qu'elle puisse rester synchronisée entre quelques ordinateurs.
Comment puis-je faire ceci?
Réponses:
Bien sûr vous pouvez! Vous devez accorder le permisson racine . Lis le pages du manuel ln .
MySQL stocke les données de la base de données dans des répertoires séparés dans
/var/lib/mysql
. Je pense qu'au début, vous deviez créer un répertoire où vous souhaitez placer les fichiers de la base de données sélectionnée. Accordez le permisson root, arrêtez le démon MySQL:Copiez vos données dans votre nouveau dossier:
Supprimez votre ancien répertoire des fichiers de données MySQL: ( Attention! TOUJOURS faire le vidage SQL en premier !!! )
Faites un lien symbolique vers le répertoire de données MySQL: ( Faites attention! Lisez d'abord la page de manuel de ln !!! )
Après cela, vous êtes prêt, démarrez votre MySQL:
Avertissement! Si votre nouveau répertoire n'est pas écrit et lisible par MySQL, cela ne fonctionnera pas! Exemple, le problème commun: vous placez votre nouveau répertoire de données dans votre dossier personnel, votre dossier personnel est protégé en lecture par d'autres (ex: drwxrwx --- vous vous votre répertoire).
Demandez si vous voulez en savoir plus sur cette méthode!
la source
/etc/apparmor.d/*mysqld
pour inclure le nouveau répertoire aussi. Puissudo service apparmor reload
avant de redémarrer MySQL./etc/apparmor.d/local
cependant (sur mon installation, il y a déjà un usr.sbin.mysqld là-bas), l'ajout d'un single l'a/full/path/to/new/database/dir/** rwk,
fait pour moi ...fstab
comme ceci pour que ce lecteur soit monté dans le système de fichiers après le démarrage, maintenant tout fonctionne.Veuillez garder à l'esprit que si vous utilisez Ubuntu, vous devez également ajouter une entrée dans le fichier de configuration AppArmour /etc/apparmor.d/usr.sbin.mysqld sinon vous continuerez à obtenir des erreurs d'autorisation d'écriture même si vous changez de fichiers et de dossier autorisations.
la source