GNU/Linux >> Tutoriels Linux >  >> Linux

Comment modifier en toute sécurité l'emplacement du répertoire de données MySQL/MariaDB sur les serveurs cPanel/WHM ?

Vous devrez peut-être changer le répertoire de données MySQL en raison d'un espace de partition insuffisant sur /var ou /root et changer le répertoire de données en /home pour votre serveur, y compris cPanel. Il peut également y avoir une autre raison pour modifier le répertoire de données.

Par défaut, le répertoire de données MySQL/MariaDB est /var/lib/mysql . Il stocke toutes les bases de données dans /var/lib/mysql . Veuillez vous référer aux étapes suivantes pour changer le répertoire de données MySQL en /home. Nous supposons que vous êtes 

  1. Tout d'abord, nous allons créer une sauvegarde de toutes les bases de données MySQL afin qu'en cas de problème, nous n'encourions aucune perte de données.

    # tar -cvf mysql.tar /var/lib/mysql
  2. Une fois que vous avez terminé la sauvegarde, arrêtez le service MariaDB avec la commande ci-dessous.
 ------------- On SystemD ------------- 
# systemctl stop mariadb
# systemctl is-active mariadb

------------- On SysVInit ------------- 
# service mysqld stop
# service mysqld status
  1. Installez la commande screen 

    yum install screen
    screen // It will create screen
  2. Maintenant, nous allons synchroniser toutes les bases de données MySQL avec le /home/mysql. La commande suivante créera un répertoire mysql dans /home et lancera le processus de synchronisation.

    rsync -avz /var/lib/mysql to /home
  3. Pendant que la synchronisation est en cours, vous pouvez également travailler sur d'autres tâches. Une fois que plusieurs écrans sont créés, vous pouvez reprendre/basculer entre les écrans comme suit.

    screen -r  //  it will resume previous screen
    ctrl A and ctrl D // for return to main screen
    ctrl A and shift ? // for screen command menu
  4. Pour modifier le répertoire de données MySQL/MariaDB, modifiez le fichier /etc/my.cnf avec votre éditeur préféré.

    vi /etc/my.cnf
  5. Changer le répertoire de données de /var/lib/mysql au /domicile. Si vous ne trouvez pas une ligne existante de datadir, vous pouvez ajouter une nouvelle ligne comme ci-dessous.

    datadir=/home/mysql 
  6. Vous devrez réassocier le fichier socket au /tmp.

    # rm -rf /tmp/mysql.sock
    # ln -sf /home/mysql/mysql.sock /tmp/mysql.sock
  7. Pour exécuter le service MariaDB depuis /home, vous devez modifier le fichier mariadb.service à l'emplacement /usr/lib/systemd/system/mariadb.service.

    ProtectHome=true to ProtectHome=false
    
  8. Enfin, démarrez votre service MariaDB.

    systemctl start mariadb
  9. Votre service MariaDB peut échouer avec l'avertissement ci-dessous. Pour résoudre cette erreur, vous pouvez redémarrer le serveur et redémarrer le service MariaDB et cela fonctionnera à nouveau.

    MariaDB cannot start after update: [Warning]  Need to run systemctl daemon-reload
    
  10. Pour vérifier la fonctionnalité, nous devrons créer une base de données à partir de cPanel et elle doit être créée dans /home/mysql. Veuillez vous référer à cPanel> créer une base de données MySQL pour créer une base de données MySQL. Si votre base de données est créée dans /home/mysql, cela signifie que vous réussissez dans votre tâche.

  11. Si tout fonctionne correctement, vous pouvez supprimer l'ancien répertoire de données de /var/lib/mysql.

    rm -rf  /var/lib/mysql

Linux
  1. Comment changer la langue de cPanel

  2. Comment changer le style cPanel

  3. Comment déplacer le répertoire de données MySQL ?

  4. Comment changer le mot de passe root mysql

  5. Comment changer le répertoire de démarrage d'une session tmux ?

Comment changer le nom d'utilisateur cPanel dans WHM ?

Comment changer l'adresse e-mail des notifications par e-mail cPanel/root de WHM ?

Comment changer le mot de passe du compte cPanel en utilisant WHM ?

Comment changer le nom d'hôte d'un serveur cPanel/WHM ?

Comment changer/réinitialiser le mot de passe racine MySQL ou MariaDB

Comment puis-je trouver l'emplacement MySQL my.cnf