Changer l’emplacement des bases de données mysql

Introduction

Pré-requis

une machine sous debian avec accès rootun serveur mysql	Dans l'exemple, nous choisissons comme nouvel emplacement /srv/data/mysql

Première étape : connaître l'emplacement actuel du dossier mysql

Affichez le fichier /etc/mysql/mariadb.conf.d/50-server.cnf :

...@...:~$ cat /etc/mysql/mariadb.conf.d/50-server.cnf
(...)
# * Basic Settings
#
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
#port = 3306
basedir = /usr
datadir = /var/lib/mysql
(...)

cherchez la ligne définissant datadir (par défaut /var/lib/mysql) : c'est l'emplacement cherché.

Autres étapes

Créez le nouveau dossier :

...@...:~$ sudo mkdir /srv/data/mysql

Rendez mysql propriétaire du nouveau dossier :

...@...:~$ sudo chown mysql:mysql /srv/data/mysql

Allez dans votre datadir actuel :

...@...:~$ cd /var/lib/mysql

Stoppez le service mysql pour éviter une copie non correcte :

...@...:~$ sudo systemctl stop mysql

copiez les bases dans le nouveau dossier :

...@...:~$ sudo cp * /srv/data/mysql

Ça peut prendre du temps selon la taille du dossierÉditez avec les droits d'administration le fichier /etc/mysql/mariadb.conf.d/50-server.cnf :

...@...:~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

et modifiez la directive datadir par votre nouveau dossier (ici /srv/data/mysql)Redémarrez mysql :

...@...:~$ sudo systemctl start mysql

Ouvrez mysql :

...@...:~$ sudo mysql -u root -p
Enter password:
(...)
MariaDB [(none)]> create database newdir_test;
(...)
MariaDB [(none)]> exit
Bye

Lancez :

...@...:~$ ls /srv/data/mysql | grep newdir_test
newdir_test

Si newdir_test s’affiche, c’est que tout marche bienEffacez la base de test :

...@...:~$ sudo mysql -u root -p
Enter password:
(...)
MariaDB [(none)]> drop database newdir_test;
(...)
MariaDB [(none)]> exit
Bye

vous pouvez supprimer l’ancien datadir de mysql avec la commande :

...@...:~$ sudo rm -rf /var/lib/mysql

Conclusion

Vous venez de déplacer vos bases de données mysql.

Problèmes connus

Voir aussi

(fr) https://lelibreauquotidien.fr/2020/03/28/changer-lemplacement-des-bases-de-donnees-mysql-sur-debian/

Basé sur << Changer l’emplacement des bases de données mysql sur debian >> par Le Libre Au Quotidien.