{{tag>tutoriel}}
====== Changer l’emplacement des bases de données mysql ======
===== Introduction =====
===== Pré-requis =====
* une machine sous debian avec accès root
* un 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 bien
* Effacez 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 << [[https://lelibreauquotidien.fr/2020/03/28/changer-lemplacement-des-bases-de-donnees-mysql-sur-debian/|Changer l’emplacement des bases de données mysql sur debian]] >> par Le Libre Au Quotidien.//