mysql Copie chaude et liens symboliques

C'est une question lors de la planification de la migration.

Serveur mysql 5.1.58-1-log (Debian) Il a datadir, Monté / dbs0 sur disk0, et toutes les bases de données myisam En lui.

Nous allions créer un nouveau / dbs1 sur disk1, Arrêt du serveur, ne déplaçant que quelques bases de données sur / dbs1, Pour les autres restants dans / dbs0, Nous créerions simplement des liens symboliques à / dbs1. Après cela, réinstallez datadir sur / dbs1 Et exécutez le serveur.

Cette partie est simple et cela fonctionnera, comme prévu, de distribuer des opérations d'E / S et de la productivité.

Supposons que vous root. Si une nouvelle base de données myisam Créé par B. datadir / dbs1, Est-il possible de le déplacer vers / dbs0, puis créer un lien symbolique dans datadir, Tout cela pendant le fonctionnement du serveur?
Invité:

Catherine

Confirmation de:

Déplacer la base de données nommée

diffamer

de

/ dbs1

à

/ dbs0

Cette solution simple fonctionne et il n'est pas nécessaire d'arrêter le serveur, ne le bloquez pas, bloquez simplement la base de données actuelle que vous travaillez.

pour commencer thread0:

se connecter à mysql, utilisation

diffamer

Tables de blocs ... (Toutes les tables) Record

Démarrer le fil1

sudo mv / dbs1 / dab / dbs0 / dab && ln -s / dbs0 / dab / dbs1 / dab

Fil final1

Déverrouillez des tables, désactivez

Pour répondre aux questions, connectez-vous ou registre