11
votes

Récupération de sauvegardes automatisées de Google Cloud SQL

Mon équipe a besoin de récupérer une sauvegarde de notre base de données (hébergée sur Google Cloud SQL) et de restaurer cette base de données à une instance hébergée localement de MySQL.

Je sais que Google Cloud SQL a la possibilité de planifier des sauvegardes, mais ceux-ci ne semblent pas être disponibles pour télécharger n'importe où.

Je sais aussi que nous sommes en mesure de "exporter" notre base de données vers Google Cloud Storage, mais nous aimerions pouvoir planifier "l'exportation".

L'objectif final ici est d'exécuter les étapes suivantes dans une sorte d'un script administrateur:

  1. sauvegarde automatiquement notre base de données hébergée sur Google Cloud SQL.
  2. Téléchargez la sauvegarde sur un serveur local (non nuageux).
  3. Restaurer la sauvegarde à une instance locale de MySQL.

    Des idées?


1 commentaires

3 ans plus tard, Jmwicks a la bonne réponse


5 Réponses :


2
votes

Désolé, mais Cloud SQL n'a pas cette fonctionnalité actuellement. Nous aimerions rendre cela plus facile à l'avenir. En attendant, vous pouvez utiliser sélénium (ou un autre cadre de script d'interface utilisateur) en combinaison avec un travail cron.


1 commentaires

Je suis allé de l'avant et l'a marqué comme la réponse parce que c'est. Mais cela semble être un assez grand trou dans la fonctionnalité.



3
votes

Notez que vous pouvez désormais déclencher une opération exporter à l'aide de API de repos SQL Cloud SQL .

Donc, votre script d'administrateur peut faire cela, puis télécharger la sauvegarde du stockage en nuage (vous aurez besoin d'attendre que l'opération d'exportation se termine toutefois).


0 commentaires

12
votes

Les commandes GCloud SDK fournissent désormais une fonctionnalité d'importation / exportation: xxx

Cette exportation peut être téléchargée à l'aide de gsutil . Il peut également être importé à l'aide de mysqlimport


2 commentaires

Vous devez également accorder le compte de service pour l'instance SQL ( GCloud SQL Instances décrivent | grep -i compte ) le créateur d'objet de stockage autorisation de sorte qu'il peut donc Créez le fichier de vidage dans le godet.


Cette commande est obsolète et sera supprimée dans la version 205.0.0. Utilisez GCLOUD SQL Export SQL à la place



4
votes

C'est le problème que j'ai rencontré et ma solution était:

  1. aller à Gestion des comptes de service IAM
  2. Créer un nouveau compte de service (je l'ai appelé SQL-Backuper ), téléchargez la clé d'accès à JSON
  3. Viewer Grant, Objet de stockage Les rôles de créateur d'objets de stockage sur la page IAM principale (actuellement GCloud ne disposent pas d'un rôle de lecture unique séparé pour SQL)
  4. Configurez-le sur la machine qui fera des sauvegardes: gcloud authentifier-service-compte-compte sql-backuper@project-name-name123.iam.gserviceAccompount.com - fiole /home /home/backuper/gcloud-service-account.json (<< a href = "https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account" rel = "nofollow"> GCloud Auth Documentation )
  5. Créez un nouveau godet à navigateur de stockage GCloud
  6. maintenant sur votre machine de sauvegarde, vous pouvez exécuter: gcloud SQL Instances Exporter [SQL-Instance-Nom] GS: // [nom de godet] / [nom de fichier] .gz - database [votre-db -Name] ( Documentation GCloud SQL ) et gsutil cp gs: // [nom de godet] / [nom de fichier] .gz [nom de fichier local] .gz ( Documentation Gsutil CP )
  7. Vous avez une copie DB locale que vous pouvez maintenant utiliser comme vous le souhaitez

1 commentaires

Cela devrait être la réponse acceptée comme couvre toutes les exigences



2
votes

Si vous souhaitez télécharger une sauvegarde (manuel ou automatisé), vous pouvez lancer une autre instance CloudSQL, puis:

  1. Cliquez sur les options de sauvegarde (restauration) à partir de l'instance Backuped
  2. choisir de restaurer sur l'instance précédemment lancée
  3. Exporter les données de votre nouvellement restauré CloudSQL
  4. Obtenez le .sql ou .csv sur le stockage en nuage

0 commentaires