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. p>
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ù. p>
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". P>
L'objectif final ici est d'exécuter les étapes suivantes dans une sorte d'un script administrateur: p>
Des idées? P>
5 Réponses :
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. P>
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é.
Notez que vous pouvez désormais déclencher une opération code> exporter code> à l'aide de API de repos SQL Cloud SQL . P>
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). P>
Les commandes GCloud SDK fournissent désormais une fonctionnalité d'importation / exportation: Cette exportation peut être téléchargée à l'aide de gsutil code>. Il peut également être importé à l'aide de
mysqlimport code> p> p>
Vous devez également accorder le compte de service pour l'instance SQL ( GCloud SQL Instances décrivent
de stockage code> 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
C'est le problème que j'ai rencontré et ma solution était: p>
SQL-Backuper Code>), téléchargez la clé d'accès à JSON LI>
- 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) LI>
- 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 code> (<< a href = "https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account" rel = "nofollow"> GCloud Auth Documentation ) LI>
- Créez un nouveau godet à navigateur de stockage GCloud LI>
- 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] code> ( Documentation GCloud SQL )
et
gsutil cp gs: // [nom de godet] / [nom de fichier] .gz [nom de fichier local] .gz code> ( Documentation Gsutil CP ) LI>
- Vous avez une copie DB locale que vous pouvez maintenant utiliser comme vous le souhaitez LI>
ol>
Cela devrait être la réponse acceptée comme couvre toutes les exigences
Si vous souhaitez télécharger une sauvegarde (manuel ou automatisé), vous pouvez lancer une autre instance CloudSQL, puis: P>
3 ans plus tard, Jmwicks a la bonne réponse