serveur-debian-mariadb:deplacer-var-lib-mysql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur-debian-mariadb:deplacer-var-lib-mysql [08/10/2019 17:02] – modification externe 127.0.0.1serveur-debian-mariadb:deplacer-var-lib-mysql [12/06/2022 15:54] (Version actuelle) – [Le cas de app.armor] zonewebmaster
Ligne 1: Ligne 1:
 +{{htmlmetatags>metatag-description=(Pour éviter la saturation de la partition système, il est souvent judicieux de déplacer le répertoire /var/lib/mysql vers le répertoire /home. Tutoriel pour exporter /var/log/mysql vers /home/log )
 +metatag-og:image=(https://www1.zonewebmaster.eu/_media/serveur-debian-mariadb/mariadb-social-share.jpg?w=400&tok=9e0299)
 +metatag-og:description=(Tutoriel pour exporter /var/log/mysql vers /home/log. Pour éviter la saturation de la partition système, il est souvent judicieux de déplacer le répertoire /var/lib/mysql vers le répertoire /home. )
 +metatag-og:title=(Déplacer le répertoire /var/lib/mysql sur MariaDB - DEBIAN - zonewebmaster.eu)
 +metatag-og:type=(article)
 +metatag-og:url=(https://www1.zonewebmaster.eu/serveur-debian-mariadb/deplacer-var-lib-mysql)
 +metatag-og:locale=(fr_FR)
 +metatag-og:site_name(zonewebmaster.eu)
 +metatag-article:published_time=(2018-07-01)
 +metatag-article:modified_time=(2022-06-12)
 +metatag-article:author=(montuy337513)
 +metatag-article:tag=(mariadb, mysql, log, répertoire, var, home, tc.log, protecthome, configuration, activation, installation, tuto, wiki, debian)
 +}}
 ====== Déplacer le répertoire /var/lib/mysql sur MariaDB ====== ====== Déplacer le répertoire /var/lib/mysql sur MariaDB ======
  
 Pour éviter la saturation de la partition système, il est souvent judicieux de déplacer le répertoire// /var/lib/mysql //vers le répertoire// /home //. Pour éviter la saturation de la partition système, il est souvent judicieux de déplacer le répertoire// /var/lib/mysql //vers le répertoire// /home //.
-Le déplacement du répertoire /var/lib/mysql  n'est pas aussi évident que pour MySQL.+Le déplacement du répertoire /var/lib/mysql sous MariaDB n'est pas aussi évident que pour MySQL.
  
 +
 +{{ :serveur-debian-mariadb:mariadb-mysql.jpg?nolink&400 |}}
 ===== Pré-requis - Difficultés ===== ===== Pré-requis - Difficultés =====
  
 Il faut bien sûr un serveur **MariaDB** en fonctionnement. Il faut bien sûr un serveur **MariaDB** en fonctionnement.
-Ce tutoriel a été testé sur une distribution Debian 9 (Strech).+Ce tutoriel a été testé sur une distribution Debian 9 (Strech), Debian 10 (Buster) et Debian 11 (Bullseye).
 Toutes les lignes de commande s'exécute dans un terminal en mode super-administrateur (root). Toutes les lignes de commande s'exécute dans un terminal en mode super-administrateur (root).
 {{howhard>3}} {{howhard>3}}
Ligne 20: Ligne 35:
 ===== Déplacement du répertoire /var/lib/mysql ===== ===== Déplacement du répertoire /var/lib/mysql =====
  
-Nous déplaçons le répertoire /var/lib/mysql vers le répertoire /home puis nous donnons les droits nécessaires.+Nous copions l'ensemble du répertoire /var/lib/mysql vers le répertoire /home (attribut -R de la commande cp) et nous donnons les droits nécessaires (attribut -p de la commande cp). 
 +Puis nous archivons le répertoire d'origine 
 <code bash> <code bash>
-mv /var/lib/mysql /home +cp -R -p /var/lib/mysql /home 
-chown -R mysql:mysql /home/mysql+mv /var/lib/mysql /var/lib/mysql.bak
 </code> </code>
  
Ligne 48: Ligne 64:
 ===== Modification du service mariadb.service ===== ===== Modification du service mariadb.service =====
  
-Si nous voulons que le service **MariaDB** se lance correctement nous devons modifier le fichier// /etc/systemd/system/multi-user.target.wants/mariadb.service //+**MariaDB** possède un système de protection plus avancé que MySQLIl faut donc autoriser la modification du chemin //datadir// dans la configuration de **MariaDB** et pour éviter de devoir faire cette modification à chaque mise à jour du paquet **maridb-server**, nous devons configurer les fichiers de démarrage de **systemd**.
-C'est pour éviter l'erreur **mysql can’t creat test files .lower-test** au démarrage du service.+
  
-Nous éditons le fichier// /etc/systemd/system/multi-user.target.wants/mariadb.service //:+Nous créons un répertoire //mariadb.service.d// avec la commande //mkdir// :
 <code bash> <code bash>
-nano /etc/systemd/system/multi-user.target.wants/mariadb.service+mkdir /etc/systemd/system/mariadb.service.d
 </code> </code>
- +Puis nous créons le fichier de configuration :
-Puis il faut commenter la ligne suivante +
 <code bash> <code bash>
-ProtectHome=true +nano /etc/systemd/system/mariadb.service.d/protecthome.conf 
-</bash+</code
-avec le **#**, ce qui donne :+Nous y ajoutons ceci :
 <code bash> <code bash>
-#ProtectHome=true +[Service] 
-</code> +ProtectHome=false 
 +</code> 
 +Si cette étape n'est pas réalisée, l'erreur **mysql can’t create test files .lower-test** apparaîtra au démarrage du service avec les messages d'erreurs suivants présent dans les logs : 
 + 
 +  *  /usr/sbin/mysqld: Can't create file '/var/log/mysql/error.log' (errno: 13 "Permission denied"
 +  * [ERROR] mysqld: File '/home/log/mysql/mysql-bin.index' not found (Errcode: 13 "Permission denied"
  
-Ensuite, nous relançons **systemd**:+Ensuite, nous indiquons à **systemd** que nous avons modifié ses fichiers de configuration :
 <code bash> <code bash>
 systemctl daemon-reload systemctl daemon-reload
Ligne 72: Ligne 92:
 ===== Supprimer le fichier tc.log ===== ===== Supprimer le fichier tc.log =====
  
-Si le fichier// /home/mysql/tc.log // est existant, il est nécessaire de l'effacer. Nous eviterons l'erreur **[ERROR] Can’t init tc log**.+Si le fichier// /home/mysql/tc.log // est existant, il est nécessaire de l'effacer. Nous éviterons l'erreur **[ERROR] Can’t init tc log**.
 Pour vérifier la liste des fichiers// .log //présents : Pour vérifier la liste des fichiers// .log //présents :
 <code bash> <code bash>
Ligne 83: Ligne 103:
 </code> </code>
  
 +===== Le cas de app.armor =====
 +
 +Si **app.armor** est installé sur votre serveur, il faut autoriser les modifications des fichiers de configuration de MariaDB. Nous éditons donc le fichier /etc/apparmor.d/usr/sbin.mysqld
 +<code bash>
 +nano /etc/apparmor.d/usr/sbin.mysqld
 +</code>
 +Et il faut remplacer toutes les références de /var/lib/mysql en /home/mysql. Vous sauvegardez et fermez l'éditeur.
 +On redemarre le service
 +<code bash>
 +systemctl reload apparmor
 +</code>
 ===== Démarrage du service mariaDB ===== ===== Démarrage du service mariaDB =====
  
Ligne 89: Ligne 120:
 systemctl start mariadb.service systemctl start mariadb.service
 </code> </code>
 +puis un petit : 
 +<code bash> 
 +systemctl status mariadb.service 
 +</code> 
 +pour vérifier que tout fonctionne correctement.
 ===== Aller plus loin ===== ===== Aller plus loin =====
  
Ligne 102: Ligne 137:
  
   * [01/07/2018] : Création de l'article   * [01/07/2018] : Création de l'article
 +  * [22/09/2020] : MAJ pour Debian Buster (Debian 10)
 +  * [02/11/2021] : MAJ Debian Bullseye (Debian 11)
 +  * [12/06/2022] : Amélioration de la gestion systemd et ajout du cas de apparmor
      
 ===== Auteurs et sources ===== ===== Auteurs et sources =====
Ligne 109: Ligne 147:
 ===== Navigation ===== ===== Navigation =====
  
-  * [[:accueil|Accueil]] +{{page>:navigation#serveur-dedie-debian}}
-  * [[:serveur-debian-securite]] +
-  * [[:serveur-debian-general]] +
-  * [[:serveur-debian-automatisation]] +
-  * [[:serveur-debian-file]] +
-  * [[:serveur-debian-log]] +
-  * [[:serveur-debian-user-groupe]] +
-  * [[:serveur-debian-apache2]] +
-  * [[:serveur-debian-postfix]] +
-  * [[:serveur-debian-mysql]] +
-  * [[:serveur-debian-divers]]+
  
 <nspages -h1 -exclude:subNs: -textPages="Autres liens rapides pouvant vous intéresser"> <nspages -h1 -exclude:subNs: -textPages="Autres liens rapides pouvant vous intéresser">
  • serveur-debian-mariadb/deplacer-var-lib-mysql.1570546952.txt.gz
  • Dernière modification : 08/10/2019 17:02
  • de 127.0.0.1