Amazon RDS for MySQL

Netzwerk-Datenverkehr verschlüsseln

Looker empfiehlt dringend, den Netzwerk-Datenverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Verwenden Sie eine der Optionen auf der Seite Sicheren Datenbankzugriff aktivieren.

Weitere Informationen zur SSL-Verschlüsselung finden Sie in der MySQL RDS-Dokumentation.

Optionen

Aus Leistungsgründen werden häufig schreibgeschützte Replikatdatenbanken – auch Lesereplikate genannt – in Looker verwendet. Dadurch wird die Produktionsdatenbank für die Ausführung ihrer primären Funktion frei, ohne dass Abfragen die Leistung verlangsamen.

In diesem Dokument wird beschrieben, wie Sie:

  • Vorhandene Replikatdatenbank für die Verwendung mit Looker ändern
  • Neue Lesereplikatdatenbank erstellen und für die Verwendung mit Looker konfigurieren

Vorhandenes Replikat ändern

Benutzer und Sicherheit

Ändern Sie <some_password_here> zu einem eindeutigen, sicheren Passwort:

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';

RDS und temporäre Tabellen

Bei RDS-Lesereplikaten ist standardmäßig ein schreibgeschütztes Flag aktiviert, das verhindert, dass Looker in temporäre Tabellen schreibt. Looker ändert vorhandene Daten nie, aber MySQL benötigt weiterhin Schreibzugriff, um temporäre Tabellen zu verwenden. Dieses Problem lässt sich beheben, indem Sie die Markierung in RDS ändern. In den häufig gestellten Fragen zu RDS:

**F: Kann mein Lesereplikat nur Datenbanklesevorgänge akzeptieren?** Lesereplikate sollen Lesezugriffe generieren. Es gibt jedoch auch Anwendungsfälle, bei denen erfahrene Nutzer SQL-Anweisungen in der Data Definition Language (DDL) für ein Lesereplikat ausführen möchten. So kann beispielsweise einem Lesereplikat, das für Geschäftsberichte verwendet wird, ein Datenbankindex hinzugefügt werden, ohne dass derselbe Index der entsprechenden Quelldatenbankinstanz hinzugefügt werden muss. Wenn Sie für ein bestimmtes Lesereplikat andere Vorgänge aktivieren möchten, müssen Sie die aktive [DB Parameter Group](#aws_step_4) für das Lesereplikat ändern. Setzen Sie dazu den Parameter „read_only“ auf „0“.

Wenn Sie die DB-Parametergruppe ändern, müssen Sie das Lesereplikat neu starten, damit die Änderungen wirksam werden.

Datenbank erstellen und Berechtigungen erteilen

Erstelle eine temporäre Datenbank und gewähre dem Nutzer looker die Berechtigung, darauf zu schreiben. Die Anweisung CREATE TEMPORARY in MySQL muss aus Berechtigungsgründen mit einer Datenbank verknüpft werden.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

Neues Replikat erstellen

Beachten Sie, dass AWS RDS nur Lesereplikate mit Datenbankinstanzen erstellen kann, für die die Sicherung der Aufbewahrung aktiviert ist.

Schritte vor der AWS-Prüfung

Schritt 1

mysql in die Datenbank, die als primäre Datenbankinstanz verwendet wird:

mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p

Schritt 2

Erstellen Sie einen Nutzer mit dem Namen looker (ersetzen Sie <some_password_here> durch ein eindeutiges, sicheres Passwort):

CREATE USER looker IDENTIFIED BY '<some_password_here>';

Schritt 3

Erstellen Sie eine temporäre Datenbank und gewähren Sie Looker Leseberechtigungen für andere Datenbanken und Tabellen. Looker schreibt normalerweise nicht in die looker_tmp-Datenbank, sondern verwendet sie zum Ausführen von CREATE TEMPORARY TABLE-Befehlen.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

GRANT
  SELECT,
  SHOW DATABASES
ON *.* TO 'looker'@'%';

Schritt 4

Berechtigungen löschen:

FLUSH PRIVILEGES;

AWS-Schritte

Schritt 1

Melden Sie sich an und rufen Sie das AWS-Dashboard auf. Wählen Sie im Abschnitt Datenbank die Option RDS aus.

Schritt 2

Wählen Sie im RDS-Dashboard die Datenbankinstanz aus, die Sie als primäre Datenbank festlegen möchten. Wählen Sie Instanzaktionen und dann Lesereplikat erstellen aus.

Schritt 3

Konfigurieren Sie im Pop-up-Fenster Lesereplikat-Datenbank erstellen die Lesereplikat-Datenbank und wählen Sie Ja, Lesereplikat erstellen aus.

Schritt 4

Während Sie auf die Erstellung der Lesereplikatdatenbank warten, können Sie die DB-Parametergruppe einrichten. Sie enthält die Engine-Konfigurationswerte, die auf die Lesereplikatdatenbankinstanz angewendet werden. Wählen Sie in der Seitenleiste die Seite DB-Parametergruppen und dann die Schaltfläche DB-Parametergruppe erstellen aus.

Schritt 5

Wählen Sie die Familie der DB-Parametergruppen und den Namen der DB-Parametergruppen aus und geben Sie eine Beschreibung der DB-Parametergruppe ein. Wählen Sie dann Ja, Erstellen aus.

Schritt 6

Klicken Sie auf das Lupensymbol in der Zeile mit der Gruppe von Lesereplikatdatenbanken oder in dieser Zeile und wählen Sie Parameter bearbeiten aus.

Schritt 7

Suchen Sie im Feld Filter unter Parameter nach „read_only“. Ändern Sie den Parameterwert in 0. Wählen Sie dann Änderungen speichern aus.

Schritt 8

Wenn das Lesereplikat erstellt wurde, wählen Sie es aus der Liste der Datenbankinstanzen aus, klicken Sie auf die Schaltfläche Instanzaktion und wählen Sie Ändern als Instanzaktion aus.

Schritt 9

Ändern Sie im Pop-up-Fenster DB-Instanz ändern die Parametergruppe der DB-Instanz in die neue Lesereplikatparametergruppe. Klicken Sie dann auf das Kästchen Sofort anwenden, wählen Sie Weiter und dann Datenbankinstanz ändern aus.

Schritt 10

Stellen Sie über den MySQL-Client eine Verbindung zur Lesereplikatdatenbankinstanz als looker her und testen Sie, ob auf Daten zugegriffen werden kann.

Looker-Verbindung zu Ihrer Datenbank erstellen

Wählen Sie im Abschnitt Admin von Looker die Option Verbindungen aus und klicken Sie auf Verbindung hinzufügen.

Geben Sie die Verbindungsdetails ein. Die meisten Einstellungen gelten für die meisten Datenbankdialekte. Informationen dazu finden Sie in der Dokumentation zum Verbinden von Looker mit Ihrer Datenbank.

Klicken Sie auf Test, um zu prüfen, ob die Verbindung erfolgreich war. Informationen zur Fehlerbehebung finden Sie in der Dokumentation zum Testen der Datenbankverbindung.

Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.

Unterstützte Funktionen

Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.

Ab Looker 23.8 werden in MySQL die folgenden Funktionen unterstützt:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Über SQL abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Aufrufe
Ja
Abfrageabbau
Ja
SQL-basierte Pivots
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Nein
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Eindeutiges Perzentil
Ja
Prozesse der SQL Runner-Sendung
Ja
SQL-Runner-Beschreibungstabelle
Ja
SQL-Runner-Show-Indizes
Ja
SQL Runner Select 10
Ja
Anzahl der SQL-Runner
Ja
Erläuterung zu SQL
Ja
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Sketche
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Ja
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl Einzeln
Nein