Comment modifier un répertoire de données MySQL / MARIADB par défaut dans Linux
- 4165
- 603
- Rayan Lefebvre
Après avoir installé les composants d'une pile de lampe sur un serveur CENTOS / RHEL 7, il y a quelques choses que vous voudrez peut-être faire.
Certains d'entre eux ont à voir avec l'augmentation de la sécurité de l'Apache et du MySQL / MARIADB, tandis que d'autres peuvent être applicables ou non en fonction de notre configuration ou de nos besoins.
Par exemple, en fonction de l'utilisation attendue du serveur de base de données, nous pouvons vouloir modifier la valeur par défaut données répertoire (/ var / lib / mysql
) à un endroit différent. C'est le cas lorsqu'un tel répertoire devrait croître en raison d'une utilisation élevée.
Sinon, le système de fichiers où / var
est stocké peut s'effondrer à un moment donné provoquant l'échec de l'ensemble du système. Un autre scénario où la modification du répertoire par défaut est lorsque nous avons un partage de réseau dédié que nous voulons utiliser pour stocker nos données réelles.
Pour cette raison, dans cet article, nous expliquerons comment changer le répertoire de données MySQL / MARIADB par défaut en un chemin différent sur un serveur CentOS / RHEL 7 et les distributions Ubuntu / Debian.
Bien que nous utiliserons Mariadb, Les concepts expliqués et les mesures prises dans cet article s'appliquent à la fois à Mysql et à Mariadb Sauf indication contraire.
Modification du répertoire de données MySQL / MARIADB par défaut
Note: Nous allons supposer que notre nouveau répertoire de données est / mnt / mysql-data
. Il est important de noter que ce répertoire devrait appartenir à mysql: mysql
.
# mkdir / mnt / mysql-data # chown -r mysql: mysql / mnt / mysql-data
Pour votre commodité, nous avons divisé le processus en 5 étapes faciles à suivre:
Étape 1: Identifier le répertoire de données MySQL actuel
Pour commencer, il est digne et bien d'identifier le répertoire de données actuel à l'aide de la commande suivante. Ne supposez pas que c'est toujours / var / lib / mysql
car il aurait pu être changé dans le passé.
# mysql -u root -p -e "select @@ datadir;"
Après avoir saisi le mot de passe MySQL, la sortie doit être similaire à.
Identifier le répertoire de données MySQLÉtape 2: Copiez le répertoire des données MySQL dans un nouvel emplacement
Pour éviter la corruption des données, arrêtez le service s'il est actuellement en cours d'exécution avant de continuer. Utilisez le systemd Commandes bien connues pour le faire:
------------- Sur systemd ------------- # systemctl stop mariaDB # systemctl IS-active mariaDB ------------- Sur sysvinit ------------- # service mysqld stop # service statut mysqld ou # service mysql stop # service mysql status
Si le service a été ramené, la sortie de la dernière commande doit être la suivante:
Stop MySQL ServicePuis copier récursivement le contenu de / var / lib / mysql
pour / mnt / mysql-data
Préservation des autorisations et horodatages originaux:
# cp -r -p / var / lib / mysql / * / mnt / mysql-dataCopier le répertoire de données MySQL vers un nouvel emplacement
Étape 3: Configurer un nouveau répertoire de données MySQL
Modifier le fichier de configuration (mon.CNF
) pour indiquer le nouveau répertoire de données (/ mnt / mysql-data
dans ce cas).
# vi / etc / mon.CNF ou # vi / etc / mysql / mon.CNF
Localiser le [mysqld]
et [client]
Sections et apporter les modifications suivantes:
Sous [mysqld]: datadir = / mnt / mysql-data socket = / mnt / mysql-data / mysql.chaussette Sous [Client]: port = 3306 socket = / mnt / mysql-data / mysql.chaussette
Enregistrez les modifications, puis procédez à l'étape suivante.
Configurer le nouveau répertoire de données MySQLÉtape 4: Définissez le contexte de sécurité Selinux vers le répertoire de données
Cette étape ne s'applique qu'à Rhel / centos et ses dérivés.
Ajouter le contexte de sécurité SELINUX à / mnt / mysql-data
Avant de redémarrer Mariadb.
# SEMANAGE FContext -a -t mysqld_db_t "/ mnt / mysql-data (/.*)?"# restorecon -r / mnt / mysql-data
Redémarrez le service MySQL.
------------- Sur systemd ------------- # systemctl stop mariaDB # systemctl IS-active mariaDB ------------- Sur sysvinit ------------- # service mysqld stop # service statut mysqld ou # service mysql stop # service mysql status
Maintenant, utilisez la même commande que dans Étape 1 Pour vérifier l'emplacement du nouveau répertoire de données:
# mysql -u root -p -e "select @@ datadir;"Vérifiez le nouveau répertoire de données MySQL
Étape 5: Créez une base de données MySQL pour confirmer le répertoire de données
Connectez-vous à MariaDB, créez une nouvelle base de données, puis vérifiez / mnt / mysql-data
:
# mysql -u root -p -e "Créer une base de données tecmint;"Vérifiez le nouveau répertoire de données MySQL
Toutes nos félicitations! Vous avez réussi à modifier le répertoire de données pour MySQL ou MARIADB.
Résumé
Dans cet article, nous avons discuté de la façon de modifier le répertoire de données dans un serveur MySQL ou MARIADB fonctionnant sur Centos / Rhel 7 et Ubuntu / Debian Distributions.
Avez-vous des questions ou des commentaires sur cet article? N'hésitez pas à nous faire savoir en utilisant le formulaire ci-dessous - nous sommes toujours heureux de vous entendre!
- « Comment installer le chef de travail du chef à Rhel et Centos 8/7
- 10 sites Web utiles pour apprendre le système de base de données PostgreSQL »