4

Ich möchte mit der Cloud Shell Datenbankmigrationen auf meiner Cloud Sql-Instanz der 2. Generation ausführen.So stellen Sie eine Verbindung zu Cloud SQL von Cloud Shell her her?

Ich habe eine example in the docs für die Verbindung mit gcloud gefunden. Aber wenn ich den Befehl Im laufen erhalte eine Fehlermeldung:

$ gcloud beta sql connect my-instance --user=root 
ERROR: (gcloud.beta.sql.connect) Invalid instance property. 

Aber selbst wenn dies funktioniert Ich bin nicht sicher, wie von meinem Python-Skript zu verbinden, die meine Migrationen durchführt. Welche Verbindungszeichenfolge würde ich verwenden? Müsste ich die Cloud Shell IP für den Zugriff manuell auf die weiße Liste setzen?

Antwort

4

bearbeiten

Die Anweisungen oben hat nicht funktioniert, wurde es eine weitere Nachricht zeigt.

Das erste Mal, wenn Sie den Befehl benötigen unten auszuführen: gcloud beta sql connect <instance id> --project <project id>:us-central1 --user root

Auch schalte ich mein Projekt in der Konsole: gcloud config set project <project id>

Allerdings bin ich jetzt eine andere Störung zu erhalten: ERROR: (gcloud.beta.sql.connect) The client is not authorized to make this request.

ich denke, ich werde die Kunden erlauben müssen ...

Eine weitere Bearbeitung, um Clients zu ermöglichen

Um endlich eine Verbindung zur DB herzustellen, musste ich Google SQL Proxy installieren.

Ich habe es mit FUSE eingerichtet (ich benutze einen Mac). Nach dem Öffnen einer Verbindung folgen Sie den Anweisungen in Google Docs. Ich konnte mich über die mysql-Kommandozeile verbinden. $ mysql -u root -p -S <localtion of cloud sql proxy folder>/<project id>:us-central1:<db instance id>

Original-

Nur diese eine herausgefunden. Hier ist, wie es zu tun:

  1. Klicken Sie auf das Beispiel möchten Sie

  2. Im Overview Abschnitt verbinden, nach unten scrollen zu Properties.

  3. In Properties sehen Sie Instance connection name. Es wird so etwas wie <your project>:us-central1:<instance name>

Verwenden suchen, die in dem Befehl: $ gcloud beta sql connect <your project>:us-central1:<instance name> --user root

+2

Die connect-Befehl in gcloud nimmt Verbindungszeichenfolgen nicht mit ':' s. Führen Sie die gcloud sql-Instanzenliste aus, um die IDs der Instanzen abzurufen, mit denen Sie eine Verbindung herstellen können, und geben Sie einfach den unformatierten Namen für den Verbindungsbefehl an. – Mark

+0

@Mark das oben für mich arbeitete ... mit dem ":", und ich auch für den SQL [Treiber] (https://github.com/go-sql-driver/mysql) benötigt. Wie auch immer ... Ich habe Ihr Kommando nicht ausprobiert, könnte einfacher sein! Vielen Dank! –

0

Sie Ihr Projekt einstellen sollte zuerst mit: gcloud config set project projectname

Danach kann man wieder tun: gcloud sql instances describe my_instance_name

Verwandte Themen