62 votes

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

Je tente de déplacer le répertoire de données de ma base de données MySQL vers un deuxième ensemble de disques que j'ai monté en tant que point de montage /array2/.

Le problème que je rencontre est que j'ai tout tenté et après avoir modifié l'emplacement de datadir dans my.cnf, MySQL ne veut plus redémarrer.

Tout ce que j'obtiens est :

start: Job failed to start

3voto

Kohjah Breese Points 2461

Si vous déplacez votre datadir, vous devez non seulement donner les autorisations au nouveau datadir, mais vous devez également vous assurer que tous les répertoires parent ont les autorisations nécessaires.

J'ai déplacé mon datadir vers un disque dur, monté sous Ubuntu comme suit :

/media/*utilisateur*/Données/

et mon datadir était Bases de données.

J'ai dû définir les autorisations sur 771 pour chacun des répertoires media, utilisateur et Données :

sudo chmod 771 *Dossier*

Si cela ne fonctionne pas, une autre façon de faire fonctionner mysql est de changer l'utilisateur dans /etc/mysql/my.cnf en root; bien qu'il y ait sans aucun doute quelques problèmes à faire cela d'un point de vue de sécurité.

0voto

Ellison Chan Points 11

Vous réalisez que si vous suivez les commandes à la lettre de la réponse acceptée, cela échouera ?

cp -R /var/lib/mysql /array2/mysql

Va copier /var/lib/mysql vers /array2/mysql/mysql.

Lorsque vous configurez votre fichier de configuration, il vaut mieux mettre /array2/mysql/mysql comme répertoire sinon votre mysqld ne démarrera pas.

Les meilleures commandes de copie seraient :

cp -R /var/lib/mysql /array2/ cp -R /var/lib/mysql/users /array2/mysql

Juste mon avis.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X