déplacer le dossier de données et conduire mysql centos

11

j'ai besoin de déplacer les données vers un dossier différent et de conduire sur mon serveur cent os db.

j'ai ajouté un nouveau disque dur (car nous manquions d'espace),

j'ai un disque dur de 1 To et j'ai un nouveau 2 To je veux mettre les données sur le même serveur (serveur dédié hébergé dans un centre de données)

je voudrais savoir quel est le moyen le plus simple de migrer les données sans perdre aucune donnée?

actuellement j'ai les données situées dans: /var/lib/mysql/on cent os.mysql version is 5.1

Vladimir Kakazsky
la source
@abdelsaid no, im using myisam

Réponses:

13

Étape 1

Configurez d'abord votre disque (en supposant qu'il est monté et configuré correctement dans le fstab) et créez un nouveau répertoire MySQL:

sudo mkdir /path/to/new/mysql

Assurez-vous que ce dossier dispose des autorisations appropriées:

chown -R mysql:mysql /data/mysql

Vous pouvez maintenant arrêter le service pendant la copie des données. Copiez les données du répertoire de données actuel vers un nouveau répertoire de données, par exemple :.

sudo cp -R /var/lib/mysql/* /path/to/new/mysql/

ou vous pouvez copier individuellement chaque base de données si vous préférez ou si vous vous sentez en sécurité, vous pouvez déplacer le dossier à l'aide de la mvcommande.

Étape 2

Vous pouvez modifier l'emplacement de vos données MySQL dans votre my.cnf. Si vous ne savez pas où se trouve ce fichier, vous pouvez exécuter la commande:

locate my.cnf

Cela vous donnera le chemin de l'emplacement du fichier my.cnf. Modifiez ensuite le fichier:

sudo vi /etc/mysql/my.cnf (bien sûr, vous devez remplacer par votre chemin)

Maintenant, recherchez datadir = /var/lib/mysqlet mettez à jour datadir = /path/to/new/mysql.

Redémarrez ensuite mysql

sudo /etc/init.d/mysqld restart

Après quelques jours / semaines, si vous vous sentez à l'aise, vous pouvez supprimer l'ancien dossier (/ var / lib / mysql) ou tout sauvegarder à l'intérieur.

Livre de Zeus
la source
0

Si vous ne voulez pas l'arrêt pendant la migration, je configurerais une réplication maître-maître vers un environnement chroot sur 2 To avec mysql (même version), puis une fois synchronisé, désactivez le 1 To et vous obtenez un environnement chroot fonctionnel.

Si vous ne voulez pas utiliser l'environnement chroot, modifiez le fichier my.cnf (pas celui chroot) pour pointer vers l'endroit où vous souhaitez stocker vos fichiers mysql sur un disque de 2 To et désactivez la réplication. Ensuite, désactivez l'environnement chroot et déplacez les données vers ce que vous avez dans my.cnf, le déplacement ici ne prendra même pas une seconde car il se trouve sur le même disque. Redémarrez mysql.

C'est un peu complexe à faire, vous pouvez d'abord jouer avec cela dans l'environnement vm local.

vimdude
la source