Changer l’emplacement des bases de données MySQL
Sommaire
I. Présentation
Par défaut, les bases de données (en tant que fichier) sont stockées dans "/var/lib/mysql/" sous Linux. Pour des questions d'organisation, de sécurité ou de place, il est peut être intéressant de changer l'emplacement de ces bases de données vers un autre dossier/ chemin. Nous allons voir dans ce tutoriel que cela est possible directement dans la configuration de MySQL.
II. Repérer où sont les bases de données
Dans un premier temps, nous allons voir où sont situées nos bases de données selon la configuration de notre serveur MySQL. On se rend pour cela dans le fichier "/etc/mysql/my.cnf" :
On trouvera alors le champ "datadir" qui pointe par défaut vers "/var/lib/mysql". Afin de vérifier cette information, nous allons aller dans ce dossier pour voir les bases de données présentes et surtout leurs permissions :
ls -al /var/lib/mysql
Nous aurons alors un résultat de ce type :
Ici, une base de données est représentées par un dossier (comme "mysql" ou "test").
III. Changer l'emplacement des bases de données
Nous allons maintenant bouger ces base de données, nous les mettons pour l'exemple dans "/srv/mysql". On commence par arrêter notre serveur mysql :
service mysql stop
On change de place nos bases de données :
mv /var/lib/mysql /srv/
On change la valeur de "datadir" dans le fichier de configuration "/etc/mysql/my.cnf" pour y mettre notre nouveau chemin "/srv/mysql" puis on pourra redémarrer notre serveur MySQL :
service mysql restart
Pour vérifier la lecture et l'écriture au bon endroit sur le système, nous pouvons nous connecter à MySQL en ligne de commande :
mysql -u root -p
Puis faire la commande suivante qui liste les bases de données présentes :
show databases;
On peut également créer une base de données :
create database test2;
Puis regarder qu'elle est bien créée sur notre nouvel emplacement :
ls -al /srv/mysql