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:
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 |