web-dev-qa-db-fra.com

Amazon RDS: restauration de l'instantané sur une instance existante

J'ai créé un instantané de mon instance et apporté des modifications indésirables à la base de données.

Maintenant, je veux restaurer mon instance à partir de cet instantané.

Lorsque j'essaie de le faire, cela me crée une instance supplémentaire, en plus de celle que j'ai.

Je spécifie "Identificateur d'instance DB" et après cela, j'obtiens deux instances avec le même ID.

Ma question est donc la suivante: existe-t-il un moyen de restaurer un instantané dans une instance existante?

Dans d'autres cas, une nouvelle instance est créée avec un noeud final différent (nom d'hôte) et je dois modifier mes configurations pour accéder à la base de données. Ou il existe un meilleur moyen de gérer de tels cas?

42
SmxCde

Non, vous ne pouvez pas restaurer votre instance de base de données existante vers une sauvegarde manuelle ou un instantané à un moment donné.

La seule façon d'utiliser la sauvegarde manuelle ou l'image instantanée automatisée consiste à créer une nouvelle instance de base de données RDS à l'aide de cette dernière. Une fois la nouvelle instance de base de données créée, vous pouvez modifier le noeud final de la base de données dans votre application/code et supprimer l'ancienne instance de base de données.

Bottomline: vous devez modifier les paramètres de configuration dans votre application. Aucune autre option.

41
Naveen Vijay

Si quelqu'un vient ici (comme moi) simplement restaurer des données sans modifier votre configuration.

Voici les étapes:

  • Créez une nouvelle instance (temp) à partir de vos instantanés automatiques ou créés manuellement.
  • Connectez-vous à cette instance à partir de Sequel pro ou de Mysql Workbench.
  • Prenez le dump SQL de toutes les données dont vous avez besoin à partir de cette instance temporaire.
  • Connectez votre instance de production et restaurez-la.
  • Supprimez maintenant l'instance temporaire que vous avez créée.
41
Katti

Renommer l'instance d'origine et nommer une nouvelle instance avec le nom d'origine

https://aws.Amazon.com/blogs/aws/endpoint-renaming-for-Amazon-rds/

14
MaXimus

J'ai eu le même problème aujourd'hui. Je pense que vous avez deux options sans changer le paramètre de configuration de l'application.

  1. supprimez l'ancienne instance comme suggéré par Mike, puis restaurez-la.

  2. renommez d’abord l’ancienne instance (cochez la case "Appliquer immédiatement" lorsque vous la renommez).

7
jack.chen.job

Comme @MaXimus a dit (je ne peux pas encore ajouter de commentaires), vous pouvez:

  1. renommer l'instance d'origine en premier
  2. restaurer à partir d'un instantané et attribuer un nom d'instance d'origine

Comme spécifié dans Renaming to Replace an Existing DB Instance ici: https://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html

0
cjuroz

Une fois que vous avez créé la base de données restaurée avec un nouveau nom, vous pouvez renommer l'instance actuelle en ... ancienne, cela renommera également l'URL de la base de données. Une fois l’URL modifiée, vous devez renommer la base de données restaurée en utilisant le nom utilisé avant et attendre que l’url de la base de données change. Ensuite, vous devez redémarrer vos services, qui se connecteront à la base de données restaurée.

Cela ne provoque aucune panne du tout. 

0
Franky