Google Cloud SQL ist ein vollständig verwalteter Datenbankdienst, mit dem Sie Ihre relationalen MySQL-Datenbanken ganz einfach in der Cloud einrichten und verwalten können.
In diesem Lab erstellen wir eine neue, leere Cloud SQL-Instanz, stellen über die MySQL-Befehlszeile eine Verbindung zu ihr her und erstellen eine neue, leere Datenbank.
Lerninhalte
- Zugriff auf die Cloud SQL-Web-UI in der Google Cloud Console
- Cloud SQL-Instanz mit der Google Cloud Console erstellen.
- Root-Passwort mithilfe der Google Cloud Console festlegen
- Verbindung zur Cloud SQL-Instanz über Cloud Shell herstellen.
- Hier erfahren Sie, wie Sie Ihre Cloud SQL-Instanz mit der Google Cloud Console löschen.
Voraussetzungen
Wie werden Sie diese Anleitung verwenden?
Wie würdest du deine Erfahrung mit der Nutzung der Google Cloud Platform-Dienste und Firebase bewerten?
Umgebung im eigenen Tempo einrichten
Wenn Sie noch kein Google-Konto haben (Gmail oder Google Apps), müssen Sie eines erstellen. Melden Sie sich unter console.cloud.google.com in der Google Cloud Platform Console 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. In diesem Codelab wird sie später als PROJECT_ID
bezeichnet.
Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Google Cloud-Ressourcen zu nutzen.
Das Durchlaufen dieses Codelabs sollte nicht mehr als ein paar Dollar kosten. Es kann aber auch sein, dass Sie mehr Ressourcen brauchen oder sie weiterlaufen möchten (siehe Abschnitt „Bereinigen“ am Ende dieses Dokuments).
Neuen Google Cloud Platform-Nutzern steht ein kostenloser Testzeitraum im Wert von 300$ zur Verfügung.
Klicke in der Google Cloud Consoleoben links auf das 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, das derzeit keine Cloud SQL-Instanzen hat, werden Sie in einem Dialogfeld aufgefordert, eine neue Cloud SQL-Instanz zu erstellen.
Wenn Sie ein Projekt mit einer oder mehreren Cloud SQL-Instanzen verwenden, wird stattdessen eine Liste dieser Instanzen angezeigt:
Wenn Ihr Projekt keine Cloud SQL-Instanzen hat, klicken Sie auf 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:
In beiden Fällen sollte 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 wird die Seite Instanz erstellen geöffnet. Geben Sie einen Namen für die Instanz ein. Dieser Name muss in Ihrem Projekt eindeutig sein, aber nicht projektübergreifend. Sie können also denselben Instanznamen codelab-0 verwenden, wie in diesem Beispiel gezeigt, sofern Sie keine anderen Cloud SQL-Instanzen in Ihrem Projekt haben. Geben Sie &codet-0" in das Feld „Instanz-ID“ ein. Für dieses Codelab können Sie beim Rest der Konfiguration die Standardeinstellungen beibehalten.
Hinweis: Wenn Sie eine Cloud SQL-Instanz löschen, können Sie diesen Instanznamen bis zu einer Woche lang nicht wiederverwenden. Wenn Sie dieses Projekt länger als das Experiment verwenden möchten, wählen Sie einen Instanznamen aus, der sich von jedem Instanznamen unterscheidet, den Sie für die Arbeit verwenden möchten. Andernfalls könnten Sie den Instanznamen für einen bestimmten Zeitraum nicht wiederverwenden.
Scrollen Sie zum Ende der Seite und wählen Sie Erstellen aus.
Sie gelangen zur Seite Instanzen. Dort sehen Sie Ihre neue Instanz mit einem rotierenden Ladesymbol. Dies zeigt an, dass sie noch erstellt wird:
Die Instanz ist in zwei oder drei Minuten verfügbar und ein blaues Häkchen ersetzt das blaue Rotor. Aktualisieren Sie die Seite von Zeit zu Zeit:
Ihre Cloud SQL-Instanz ist jetzt einsatzbereit.
Klicken Sie auf den Namen Ihrer Instanz, um die Seite „Instanzdetails“ aufzurufen, und dann auf Zugriffssteuerung:
Drücken Sie auf dem Tab „Zugriffssteuerung“ die Option Nutzer:
Klicken Sie auf dem Tab „Nutzer“ auf Root-Passwort ändern:
Geben Sie ein neues Passwort auf der Seite "Passwort ändern" ein und drücken Sie OK:
Aktivieren Sie Google Cloud Shell durch Drücken der Aufforderungsschaltfläche in der Google Cloud Console:
Wenn Sie Google Cloud Shell zum ersten Mal für dieses Projekt verwenden, wird Google Cloud Shell angezeigt. Drücken Sie auf Cloud Shell starten.
Die neue Cloud Shell wird am unteren Rand der Google Cloud Console angezeigt, wenn Sie auf dem Google Cloud Shell-Bildschirm auf Cloud Shell starten klicken, wenn Sie das Projekt zum ersten Mal mit diesem Projekt verwenden, oder direkt nach dem Klicken auf die Schaltfläche „Google Cloud Shell aktivieren“, falls sie bereits verwendet wurde.
Stellen Sie mit dem folgenden gcloud-SQL-Befehl eine Verbindung zu Ihrer Cloud SQL-Instanz her. Ersetzen Sie dabei &labs;codelab-0" durch den Namen der Instanz, wenn dieser anders ist:
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 Sie hier sehen, werden Sie aufgefordert, das Passwort einzugeben, das Sie im vorherigen Schritt festgelegt haben. Sie haben jetzt eine voll funktionsfähige MySQL-Eingabeaufforderung, als „root“ angemeldet ist. Damit können Sie SQL-Anweisungen eingeben, wie in diesem Beispiel, 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 einem OK zurückgegeben wird, funktioniert Ihre Instanz. Beenden und laden Sie einige Beispieldaten, um einige 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 Sie 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
Dann müssen wir die Datenbank und die Tabellen erstellen und die Daten laden. Ersetzen Sie gegebenenfalls Codelab-0 durch den Namen der Instanz, wenn:
$ gcloud sql connect codelab-0 --user=root < employees.sql
Jetzt können wir die Daten abfragen. Unten finden Sie einige Beispielabfragen. Sie können Abfragen auch selbst erstellen. Sehen Sie sich die Datei employees.sql
an, um sich mit dem Datenbankschema vertraut zu machen. Melden Sie sich zuerst in der SQL-Eingabeaufforderung an und wechseln Sie zur Mitarbeiterdatenbank. Ersetzen Sie codelab-0
gegebenenfalls durch den Namen Ihrer Instanz:
$ 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;
Nachdem Sie das Dataset der Beispielmitarbeiter abgefragt 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 derzeit nicht löschen. Das von Ihnen verwendete Projekt wird jedoch weiterhin in Rechnung gestellt. Wenn Sie diese Instanz nicht mehr benötigen, sollten Sie sie jetzt löschen, um diese Kosten zu vermeiden.
Hinweis: Wenn Sie eine Cloud SQL-Instanz löschen, können Sie diesen 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 gegebenenfalls Codelab-0 durch den Namen der Instanz, wenn:
$ 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. Klicken Sie dazu links oben auf „SQL“:
Ö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 kann nicht rückgängig gemacht werden. Die Daten dieser Instanz können nicht wiederhergestellt werden. Damit nicht versehentlich die falsche Instanz gelöscht wird, müssen Sie den Löschvorgang bestätigen. Geben Sie dazu den Instanznamen in ein Bestätigungsdialogfeld ein:
Geben Sie den Instanznamen ein und klicken Sie auf Löschen.
Sie haben eine neue Cloud SQL-Instanz erstellt, ein Root-Passwort konfiguriert und eine leere Datenbank erstellt. Außerdem haben Sie optional die Cloud SQL-Instanz gelöscht.
Behandelte Themen
- Cloud SQL-Instanzen über die Google Cloud Console erstellen
- Ein SQL-Root-Passwort über die Google Cloud Console festlegen.
- Verbindung zur Datenbank über den mysql-Client herstellen.
- Neue MySQL-Datenbank über die mysql-Eingabeaufforderung erstellen.
- Die Cloud SQL-Instanz löschen.
Weitere Informationen
- Google Cloud SQL-Dokumentation ansehen