Google Cloud SQL ist ein vollständig verwalteter Datenbankdienst, mit dem Sie Ihre relationalen MySQL-Datenbanken ganz einfach in der Cloud einrichten, warten und verwalten können.
In diesem Lab erstellen wir eine neue, leere Cloud SQL-Instanz, stellen über die MySQL-Befehlszeilenschnittstelle eine Verbindung zu ihr her und erstellen eine neue, leere Datenbank.
Lerninhalte
- So greifen Sie in der Google Cloud Console auf die Cloud SQL-Web-UI zu.
- So erstellen Sie eine Cloud SQL-Instanz mit der Google Cloud Console.
- So legen Sie ein Root-Passwort mit der Google Cloud Console fest.
- So stellen Sie über Cloud Shell eine Verbindung zu Ihrer Cloud SQL-Instanz her.
- So löschen Sie Ihre Cloud SQL-Instanz mit der Google Cloud Console.
Voraussetzungen
Wie werden Sie diese Anleitung verwenden?
Wie würden Sie Ihre Erfahrung mit der Nutzung von Google Cloud Platform-Diensten und Firebase bewerten?
Einrichtung der Umgebung im eigenen Tempo
Wenn Sie noch kein Google-Konto (Gmail oder Google Apps) haben, müssen Sie eins erstellen. Melden Sie sich in der Google Cloud Platform Console (console.cloud.google.com) an und erstellen Sie ein neues Projekt:
Notieren Sie sich die Projekt-ID, also den projektübergreifend nur einmal vorkommenden Namen eines Google Cloud-Projekts. Der oben angegebene Name ist bereits vergeben und kann leider nicht mehr verwendet werden. Sie wird in diesem Codelab später als PROJECT_ID
bezeichnet.
Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Google Cloud-Ressourcen verwenden zu können.
Dieses Codelab sollte Sie nicht mehr als ein paar Dollar kosten, aber es könnte mehr sein, wenn Sie sich für mehr Ressourcen entscheiden oder wenn Sie sie laufen lassen (siehe Abschnitt „Bereinigen“ am Ende dieses Dokuments).
Neuen Nutzern der Google Cloud Platform steht eine kostenlose Testversion mit einem Guthaben von 300$ zur Verfügung.
Klicken Sie in der Google Cloud Console oben links auf das Symbol Menü:
Scrollen Sie nach unten und wählen Sie im Unterabschnitt Speicher die Option SQL aus:
Sie sollten jetzt die Cloud SQL-Web-UI sehen. Wenn Sie ein Projekt verwenden, in dem derzeit keine Cloud SQL-Instanzen vorhanden sind, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, eine neue Cloud SQL-Instanz zu erstellen.
Wenn Sie ein Projekt verwenden, in dem bereits eine oder mehrere Cloud SQL-Instanzen vorhanden sind, wird stattdessen eine Liste dieser Instanzen angezeigt:
Wenn Ihr Projekt keine Cloud SQL-Instanzen hat, klicken Sie auf die Schaltfläche Instanz erstellen, um eine zu erstellen:
Wenn Sie ein Projekt verwenden, in dem bereits eine oder mehrere Cloud SQL-Instanzen vorhanden sind, klicken Sie auf dem Bildschirm Instanzen auf die Schaltfläche Instanz erstellen, wie hier gezeigt:
In beiden Fällen sollte jetzt die Seite Instanztyp auswählen angezeigt werden. In diesem Codelab erstellen wir eine Cloud SQL-Instanz der zweiten Generation. Klicken Sie auf Zweite Generation auswählen.
Dadurch gelangen Sie zur Seite Instanz erstellen. Hier müssen Sie einen Namen für Ihre Instanz angeben. Dieser Name muss innerhalb Ihres Projekts eindeutig sein, aber nicht projektübergreifend. Sie können also denselben Instanznamen codelab-0 wie in diesem Beispiel verwenden, sofern Sie keine anderen Cloud SQL-Instanzen in Ihrem Projekt haben. Geben Sie „codelab-0“ in das Feld „Instanz-ID“ ein. Für dieses Codelab können Sie für die restliche Konfiguration die Standardwerte beibehalten.
Wenn Sie eine Cloud SQL-Instanz löschen, können Sie den Instanznamen bis zu einer Woche lang nicht wiederverwenden. Wenn Sie dieses Projekt für mehr als nur Tests verwenden möchten, sollten Sie einen Instanznamen auswählen, der sich von allen Instanznamen unterscheidet, die Sie für die eigentliche Arbeit verwenden möchten. Andernfalls kann es sein, dass Sie diesen Instanznamen für eine bestimmte Zeit nicht wiederverwenden können.
Scrollen Sie zum Ende der Seite und tippen Sie auf Erstellen.
Sie werden zur Seite Instanzen weitergeleitet, auf der Ihre neue Instanz mit einem Spinner auf der linken Seite angezeigt wird. Das bedeutet, dass sie noch erstellt wird:
Nach zwei bis drei Minuten ist die Instanz verfügbar und das blaue Drehrad wird durch ein grünes Häkchen ersetzt. Aktualisieren Sie die Seite regelmäßig:
Ihre Cloud SQL-Instanz ist jetzt einsatzbereit.
Klicken Sie auf den Namen Ihrer Instanz, um die Seite mit den Instanzdetails aufzurufen, und klicken Sie dann auf Zugriffssteuerung:
Klicken Sie auf dem Tab „Zugriffssteuerung“ auf Nutzer:
Klicken Sie auf dem Tab „Nutzer“ auf Root-Passwort ändern:
Geben Sie auf der Seite „Passwort ändern“ ein neues Passwort ein und drücken Sie OK:
Aktivieren Sie Google Cloud Shell, indem Sie in der Google Cloud Console auf die entsprechende Schaltfläche klicken:
Wenn Sie die Google Cloud Shell zum ersten Mal für dieses Projekt verwenden, wird der Google Cloud Shell-Bildschirm angezeigt. Klicken Sie auf Cloud Shell starten.
Die neue Cloud Shell wird unten in der Google Cloud Console angezeigt. Das geschieht entweder, nachdem Sie auf dem Google Cloud Shell-Bildschirm auf Cloud Shell starten geklickt haben, wenn Cloud Shell zum ersten Mal mit diesem Projekt verwendet wird, oder sofort nach dem Klicken auf die Schaltfläche „Google Cloud Shell aktivieren“, wenn sie schon einmal verwendet wurde.
Stellen Sie mit dem unten gezeigten gcloud sql-Befehl eine Verbindung zu Ihrer Cloud SQL-Instanz her. Ersetzen Sie dabei „codelab-0“ durch den Namen Ihrer Instanz, falls dieser abweicht:
gcloud sql connect codelab-0 --user=root
Hier sollten Sie dies sehen:
$ gcloud sql connect codelab-0 --user=root Whitelisting your IP for incoming connection for 1 minute...done. Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11302 Server version: 5.6.29-google-log (Google) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Wie hier gezeigt, werden Sie aufgefordert, das Passwort einzugeben, das Sie im vorherigen Schritt festgelegt haben. Sie haben jetzt eine voll funktionsfähige MySQL-Eingabeaufforderung, bei der Sie als „root“ angemeldet sind. Sie können damit SQL-Anweisungen eingeben, z. B. diese, um eine neue Datenbank mit dem Namen „codelab“ zu erstellen:
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
Wenn die Abfrage mit „OK“ zurückgegeben wird, funktioniert Ihre Instanz. Beenden wir die Eingabe und laden wir einige Beispieldaten, um echte Abfragen auszuführen.
Geben Sie „exit;“ ein und drücken Sie die Eingabetaste, um die MySQL-Eingabeaufforderung zu beenden.
Wir laden den Beispieldatensatz für Mitarbeiter, den Sie in der offiziellen MySQL-Dokumentation finden.
Zuerst müssen wir die Skripts und Daten herunterladen:
$ wget https://codeload.github.com/datacharmer/test_db/zip/master -O sampledb.zip $ unzip sampledb.zip && cd test_db-master
Als Nächstes müssen wir die Datenbank und die Tabellen erstellen und die Daten laden. Ersetzen Sie „codelab-0“ durch den Namen Ihrer Instanz, falls er sich unterscheidet:
$ gcloud sql connect codelab-0 --user=root < employees.sql
Jetzt können wir die Daten abfragen. Unten finden Sie einige Beispielabfragen. Sie können auch selbst einige Abfragen erstellen. Machen Sie sich mit dem Datenbankschema vertraut, indem Sie sich die Datei employees.sql
ansehen. Melden Sie sich zuerst am SQL-Prompt an und wechseln Sie zur Mitarbeiterdatenbank. Ersetzen Sie codelab-0
durch den Namen Ihrer Instanz, falls er sich unterscheidet:
$ gcloud sql connect codelab-0 --user=root mysql> USE employees; Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changed mysql> SELECT avg(s.salary) avg_salary_by_hire_year, YEAR(e.hire_date) FROM employees e, salaries s WHERE e.emp_no = s.emp_no GROUP BY YEAR(e.hire_date); +-------------------------+-------------------+ | avg_salary_by_hire_year | YEAR(e.hire_date)| +-------------------------+-------------------+ | 66966.7550 | 1985 | | 66187.3453 | 1986 | ... 16 rows in set (2.70 sec) mysql> SELECT de.dept_no, sum(s.salary) sum_salaries_per_department FROM employees e, salaries s, dept_emp de WHERE e.emp_no = de.emp_no AND e.emp_no = s.emp_no GROUP BY de.dept_no; +---------+-----------------------------+ | dept_no | sum_salaries_per_department| +---------+-----------------------------+ | d001 | 13725425266 | | d002 | 11650834677 | ... +---------+-----------------------------+ 9 rows in set (4.22 sec) mysql> exit;
Wenn Sie die Abfrage des Beispieldatasets für Mitarbeiter abgeschlossen haben, beenden Sie die MySQL-Eingabeaufforderung mit dem Befehl „exit“.
Dieser Schritt ist optional. Wenn Sie weiterhin mit Ihrer Cloud SQL-Instanz experimentieren möchten, müssen Sie sie jetzt nicht löschen. Für das von Ihnen verwendete Projekt werden jedoch weiterhin Kosten für die Instanz berechnet. Wenn Sie diese Instanz nicht mehr benötigen, sollten Sie sie jetzt löschen, um diese Gebühren zu vermeiden.
Wenn Sie eine Cloud SQL-Instanz löschen, können Sie den Instanznamen bis zu einer Woche lang nicht wiederverwenden.
Sie haben zwei Möglichkeiten, Ihre Cloud SQL-Instanz zu löschen.
1. Verwenden Sie gcloud
in Ihrer Cloud Shell-Umgebung. Ersetzen Sie „codelab-0“ durch den Namen Ihrer Instanz, falls er sich unterscheidet:
$ gcloud sql instances delete codelab-0 All of the instance data will be lost when the instance is deleted. Do you want to continue (Y/n)? Y Deleting Cloud SQL instance...done. Deleted $
oder
2) Kehren Sie zur Seite „Cloud SQL-Instanzen“ zurück, indem Sie links oben auf „SQL“ klicken:
Öffnen Sie das Drop-down-Menü neben der Instanz, die Sie löschen möchten, und wählen Sie „Löschen“ aus:
Das Löschen einer Instanz ist endgültig. Die Daten dieser Instanz können nicht wiederhergestellt werden. Um zu verhindern, dass versehentlich die falsche Instanz gelöscht wird, müssen Sie das Löschen bestätigen, indem Sie den Instanznamen in ein Bestätigungsdialogfeld eingeben:
Geben Sie den Namen der Instanz ein und drücken Sie Löschen.
Sie haben eine neue Cloud SQL-Instanz erstellt, ein Root-Passwort konfiguriert, eine leere Datenbank erstellt und (optional) die Cloud SQL-Instanz gelöscht.
Behandelte Themen
- Cloud SQL-Instanzen über die Google Cloud Console erstellen
- SQL-Root-Passwort über die Google Cloud Console festlegen.
- Verbindung zur Datenbank über den MySQL-Client herstellen
- Eine neue MySQL-Datenbank über die MySQL-Eingabeaufforderung erstellen
- Cloud SQL-Instanz wird gelöscht.