Utilisez mongodump et mongorestore pour effectuer une migration complète hors ligne d'une base de données MongoDB autonome vers une instance de type Replica Set ApsaraDB for MongoDB. Cette approche exporte un instantané complet de votre base de données source et le restaure dans la destination — aucune synchronisation incrémentielle n'est effectuée après la prise de l'instantané.
Les commandesmongodumpetmongorestoremigrent toutes les données présentes au moment de l'exécution demongodump. Les écritures effectuées dans la base de données source après ce point ne sont pas migrées. Pour migrer avec un temps d'arrêt minimal, utilisez plutôt Data Transmission Service (DTS). Pour plus d'informations, consultez Migrer des données depuis une base de données MongoDB autonome utilisant l'architecture Replica Set vers ApsaraDB for MongoDB à l'aide de DTS.
Pour obtenir un aperçu de toutes les options de migration et de synchronisation, consultez Migration et synchronisation des données.
Fonctionnement
Interrompez les écritures dans la base de données source afin de garantir un instantané cohérent.
Exécutez
mongodumppour exporter toutes les bases de données vers un répertoire de dump local.Configurez l'accès réseau entre le serveur source et l'instance de type Replica Set de destination.
Exécutez
mongorestorepour importer les fichiers de dump dans l'instance de type Replica Set.Vérifiez les données migrées, puis basculez votre application vers l'instance de destination.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Les commandes
mongodumpetmongorestoreinstallées à la même version que la base de données MongoDB autonome. Pour l'installation, consultez Install MongoDB sur le site web de MongoDB.Une instance de type Replica Set de destination dont la storage capacity greater than l'espace de stockage occupé par la base de données MongoDB autonome. Pour mettre à niveau l'instance, consultez Modifier les configurations d'une instance.
Exécutezmongodumpetmongorestoresur le serveur source ou sur un serveur distinct disposant d'un accès réseau à la source, et non dans le shell mongo.
Remarques sur l'utilisation
Interrompez toutes les écritures dans la base de données source avant d'exécuter
mongodump. Toute écriture effectuée après la fin demongodumpn'est pas migrée.Si vous avez déjà exécuté
mongodump, déplacez les fichiers de sauvegarde du répertoire de dump vers un autre répertoire et assurez-vous que le répertoire de dump est vide avant de l'exécuter à nouveau. S'il n'est pas vide, ses fichiers de sauvegarde historiques seront écrasés lors de la prochaine sauvegarde d'une base de données.
Étape 1 : Sauvegarder la base de données MongoDB autonome
Exécutez mongodump sur le serveur où réside la base de données MongoDB autonome (ou sur un serveur distinct disposant d'un accès réseau à la source) :
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>
Remplacez les espaces réservés suivants :
| Espace réservé | Description | Exemple |
|---|---|---|
<mongodb_host> |
Adresse IP ou nom d'hôte du serveur source | 127.0.0.1 |
<port> |
Port de service de la base de données MongoDB autonome | 27017 (par défaut) |
<username> |
Compte de base de données utilisé pour se connecter à la source | test |
<database> |
Base de données d'authentification pour le compte spécifié | admin |
Exemple :
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
Lorsque l'invite Enter password: s'affiche, saisissez le mot de passe de la base de données et appuyez sur Entrée. Le mot de passe est masqué pendant la saisie.
Une fois mongodump terminé, les fichiers de sauvegarde sont enregistrés dans le répertoire dump de votre répertoire de travail actuel.
Étape 2 : Migrer les données vers l'instance de type Replica Set
2,1 Obtenir la chaîne de connexion du nœud principal
Obtenez la chaîne de connexion publique ou interne du nœud principal dans l'instance de type Replica Set de destination. Pour plus d'informations, consultez Présentation des connexions aux instances de type Replica Set.
Pour vous connecter via Internet, demandez d'abord un endpoint public. Pour plus d'informations, consultez Demander un endpoint public pour une instance ApsaraDB for MongoDB.
2,2 Ajouter l'adresse IP du serveur source à la liste d'autorisation
Ajoutez l'adresse IP du serveur source à la liste d'autorisation de l'instance de type Replica Set de destination :
Réseau interne : Ajoutez l'adresse IP privée de l'instance Elastic Compute Service (ECS) où réside la base de données source.
Internet : Ajoutez l'adresse IP publique du serveur source.
Pour plus d'informations, consultez Configurer une liste d'autorisation pour une instance de type Replica Set.
2,3 Restaurer les fichiers de sauvegarde dans l'instance de type Replica Set
Exécutez mongorestore sur le serveur source pour importer tous les fichiers de sauvegarde dans l'instance de destination :
mongorestore --host <Primary_host> -u <username> --authenticationDatabase <database> <backup_directory>
Remplacez les espaces réservés suivants :
| Espace réservé | Description | Exemple |
|---|---|---|
<Primary_host> |
Chaîne de connexion du nœud principal, incluant le port | dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 |
<username> |
Compte de base de données pour l'instance de destination (compte initial : root) |
test |
<database> |
Base de données d'authentification pour le compte spécifié. Pour le compte root, utilisez admin |
admin |
<backup_directory> |
Chemin d'accès au répertoire de dump créé à l'étape 1 | dump (par défaut) |
Exemple :
mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
Lorsque l'invite Enter password: s'affiche, saisissez le mot de passe de la base de données et appuyez sur Entrée. Le mot de passe est masqué pendant la saisie.
Vérifier la migration
Une fois mongorestore terminé, confirmez que vos données sont présentes et complètes avant de basculer le trafic.
Basculez votre application
Mettez à jour la chaîne de connexion de votre application pour qu'elle pointe vers l'instance de type Replica Set de destination. Planifiez le basculement pendant les heures creuses afin de minimiser l'impact.