Site Loader

De base, MariaDB stock les données des bases de données dans le dossier /var/lib/mysql.
Si vous souhaitez pour une raison ou une autre changer ce dossier, suivez les instructions ci-dessous.

I/ Localiser le datadir

Tout d’abord, il faut s’assurer de l’emplacement actuel du dossier mysql. Pour ce faire, connectez vous à mariadb

$ sudo mariadb -u root

Puis éxecutez la commande suivante:

MariaDB [(none)]> select @@datadir;
+----------------------------------+
| @@datadir                        |
+----------------------------------+
| /var/lib/mysql/                   |
+----------------------------------+
1 row in set (0.00 sec)

Si le répertoire est différents, prenez-en compte pour la suite.
Vous pouvez quitter l’interface de MariaDB en faisant

MariaDB [(none)]> exit

II/ Stopper le service et générer le nouveau dossier

Avant de modifier quoi que ce soit, il faut stopper le service MariaDB et s’assurer qu’il est éteint:

$ sudo systemctl stop mariadb && sudo systemctl status mariadb
Status: "MariaDB server is down"

On peut maintenant continuer sans crainte.

III/ Initialiser le nouveau dossier

On va maintenant pouvoir créer le nouveau dossier qui remplacera le /var/lib/mysql à l’emplacement souhaité. Dans le tutoriel on considérera comme nouvel emplacement /home/moi/mysql, qu’il faudra changer en conséquence.
Heureusement pour nous, mysql a une commande déjà prête pour cette opération:

$ sudo mysql_install_db --datadir=/home/moi/mysql

La commande va effectuer différentes opérations qui vont avoir pour but de créer le dossier et le contenu nécessaire au fonctionnement du serveur sql.

IV/ Indiquer le nouvel emplacement à MariaDB

Il va maintenant falloir dire à MariaDB où aller chercher et écrire les données. Pour ce faire, il va falloir modifier le fichier /etc/mysql/mariadb.conf.d/50-server.cnf, puis éditer la ligne suivante:

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
# ...
# Avant
datadir        = /var/lib/mysql
# Après
datadir        = /home/moi/mysql

V/ Débloquer l’accès à MariaDB depuis home

Cette partie concerne seulement les personnes qui souhaitent créer le nouveau dossier dans leur dossier home.

Par défaut, le service de MariaDB interdit l’accès au serveur depuis le dossier home. Il va donc falloir lui donner le droit en modifiant le fichier suivant:

$ sudo vim /lib/systemd/system/mariadb.service
# ...
# Avant
ProtectHome=false
# Après
ProtectHome=true

Et n’oubliez pas de recharger la configuration du service:

$ sudo systemctl daemon-reload

VI/ Relancer le service et tester

On peut maintenant voir si nos changements ont eu lieu !
Pour ce faire, on va relancer le service

$ sudo systemctl start mariadb

Puis nous connecter à MariaDB et tester l’emplacement de datadir

$ sudo mariadb -u root
MariaDB [(none)]> select @@datadir;
+----------------------------------+
| @@datadir                        |
+----------------------------------+
| /home/moi/mysql/                  |
+----------------------------------+
1 row in set (0.00 sec)

Problèmes

En cas de soucis, n’hésitez pas à me contacter pour trouver une solution à votre problème !

Post Author: Alexandre Navaro

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *