web-dev-qa-db-fra.com

Différents emplacements pour les bases de données MySQL?

Puis-je configurer MySQL pour stocker une base de données spécifique dans un emplacement séparé sur le disque?

Je veux toujours que toutes les nouvelles bases de données soient placées à l'emplacement par défaut, mais il y a une base de données spécifique que j'aimerais stocker dans mon dossier Dropbox afin qu'il puisse rester synchronisé entre quelques ordinateurs.

Comment puis-je faire ceci?

17
Colin

Bien sûr vous pouvez! Vous devez accorder la permission de la racine. Lisez les ln pages de manuel.

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 dans lequel vous souhaitez placer les fichiers de la base de données sélectionnée. Accordez la permission racine, arrêtez MySQL deamon:

# /etc/init.d/mysql stop

Copiez vos données dans votre nouveau dossier:

# cp /var/lib/mysql/DATABASENAME /path/to/new/database/dir

Supprimez votre ancien répertoire des fichiers de données MySQL: (Attention! TOUJOURS faire le dump SQL en premier !!!)

# rm -R /var/lib/mysql/DATABASENAME

Créez un lien symbolique vers le répertoire de données MySQL: (Faites attention! Lisez la page de manuel de ln first !!!)

# ln -s /full/path/to/new/database/dir /var/lib/mysql/DATABASENAME

Après cela, vous êtes prêt, démarrez votre MySQL:

# /etc/init.d/mysql start

Attention! Si votre nouveau répertoire n'est pas écrit et lisible par MySQL, cela ne fonctionnera pas! Exemple, le problème courant: vous placez votre nouveau répertoire de données dans votre dossier de départ, votre dossier de départ est protégé en lecture par d’autres (ex: drwxrwx --- you you yourdir).

Demandez, si vous voulez savoir d'autres choses sur cette méthode!

27
antivirtel

N'oubliez pas que si vous utilisez Ubuntu, vous devez également ajouter une entrée dans le fichier de configuration d'AppArmour /etc/apparmor.d/usr.sbin.mysqld, sinon vous obtiendrez des erreurs d'autorisation d'écriture même si vous modifiez des fichiers et des dossiers. autorisations.

3
Andrea Moro