Dialekte, für die diese Anweisungen relevant sind
Die auf dieser Seite beschriebenen Anforderungen für die Einrichtung der Datenbank gelten für MySQL, MariaDB und SingleStore (ehemals MemSQL).
Netzwerk-Datenverkehr verschlüsseln
Es empfiehlt sich, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Prüfen Sie eine der Optionen, die auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben werden.
Wenn Sie an der Verwendung von SSL-Verschlüsselung interessiert sind, informieren Sie sich auf dieser Dokumentationsseite zu MySQL.
Benutzer und Sicherheit
Befolgen Sie zur Erstellung und Erteilung des erforderlichen Zugangs für den Looker-Benutzer die Anweisungen in dem entsprechenden Abschnitt für Ihre Datenbanksprache und -version:
MySQL 8.0.X:
In MySQL 8.0.X ist caching_sha2_password das standardmäßige Authentifizierungs-Plug-in. Looker verwendet das mysql_native_password-Plug-in, um sich über den JDBC-Treiber in MySQL-Datenbanken zu authentifizieren. Damit diese Version von MySQL ordnungsgemäß funktioniert, müssen Sie die folgenden zusätzlichen Schritte ausführen:
Konfigurieren Sie die MySQL-Datenbank für die Verwendung des
mysql_native_password-Plug-ins. Dafür gibt es verschiedene Vorgehensweisen, die je nach Bereitstellungsvariante der MySQL 8-Datenbank und Art der Zugriffsberechtigung variieren:Starten Sie den Prozess mit dem Flag
--default-auth=mysql_native_password.Legen Sie das Attribut in der Konfigurationsdatei
my.cnffest:
[mysqld] default-authentication-plugin=mysql_native_password- Wenn die Datenbankinstanz durch AWS RDS gehostet wird, können Sie den
default_authentication_plugin-Parameter durch die Anwendung einer RDS Parameter Group auf die Datenbankinstanz bestimmen.
Führen Sie die folgenden Befehle aus und ersetzen Sie
some_password_heredurch ein eindeutiges, sicheres Passwort:CREATE USER looker IDENTIFIED WITH mysql_native_password BY 'some_password_here'; GRANT SELECT ON database_name.* TO 'looker'@'%';
MySQL 5.7.X und niedriger, MariaDB und SingleStore:
Führen Sie die folgenden Befehle aus und ersetzen Sie some_password_here durch ein eindeutiges, sicheres Passwort:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('some_password_here');
GRANT SELECT ON database_name.* TO 'looker'@'%';
Temporäre Schema-Einrichtung für persistente abgeleitete Tabellen
Diese Datenbankdialekte unterstützen die Erstellung von persistenten abgeleiteten Tabellen (PDTs). Diese Funktion kann äußerst nützlich sein. Wir empfehlen daher, sie nach Möglichkeit zu aktivieren.
Damit PDT aktiviert werden können, müssen Sie ein temporäres Schema konfigurieren. Die folgenden Befehle zeigen ein Beispiel für die Erstellung einer temporären Datenbank und die Gewährung der erforderlichen Berechtigungen für den Nutzer looker.
Sie können den Namen der temporären Datenbank beim Erstellen der Datenbankverbindung im Feld Temporäre Datenbank angeben. Wenn Sie keinen Namen für die temporäre Datenbank festlegen, erstellt Looker eine Scratch-Datenbank namens
looker_tmp. Die folgenden Befehle verwendenlooker_tmp. Wenn Sie aber einen anderen Namen für die temporäre Datenbank festgelegt haben, verwenden Sie diesen anstelle vonlooker_tmp.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Bei SingleStore oder wenn Ihre Datenbank GTID-basierte Replikation verwendet, müssen Sie den LookML-Parameter create_process verwenden, um PDTs zu nutzen, da GTID keine CREATE TABLE AS SELECT-Anweisungen unterstützt.
Alternative Einrichtungsoption für reguläre abgeleitete Tabellen
Wenn Sie die Erstellung von persistenten abgeleiteten Tabellen nicht zulassen möchten, können Sie weiterhin reguläre abgeleitete Tabellen verwenden. Dazu müssen Sie jedoch einem Schema namens looker_tmp bestimmte Berechtigungen hinzufügen. Das Schema looker_tmp muss dafür nicht in Ihrer Datenbank vorhanden sein.
GRANT
SELECT,
INDEX,
INSERT,
DROP,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
-- Note that the looker_tmp schema does not need to actually exist,
-- even though these permission grants are still needed
Variable max_allowed_packet festlegen
Setzen Sie für MySQL die MySQL-Variable max_allowed_packet auf den Höchstwert (1073741824), um den Fehler „SQLException: Packet for query is too large“ (SQLException: Paket für Abfrage ist zu groß) zu vermeiden.
Looker-Verbindung zu Ihrer Datenbank erstellen
Im Anschluss an die Datenbankkonfiguration können Sie in Looker eine Verbindung mit der Datenbank herstellen. So verbinden Sie Looker mit Ihrer Datenbank
- Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
Wählen Sie im Drop-down-Menü Dialekt den Namen Ihres Datenbankdialekts aus: MySQL, MySQL 8.0.12+, MariaDB, SingleStore oder SingleStore 7+.
Geben Sie die Verbindungsdetails ein. Der Großteil der Einstellungen gilt für die meisten Datenbankdialekte. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
Klicken Sie auf Test, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankkonnektivität testen.
Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.
Feature-Unterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
MySQL unterstützt ab Looker 26.0 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | Nein |
| Symmetrische Aggregate | Ja |
| Abgeleitete Tabellen | Ja |
| Persistente SQL-abgeleitete Tabellen | Ja |
| Persistente native abgeleitete Tabellen | Ja |
| Stabile Ansichten | Ja |
| Abfrageeabruch | Ja |
| SQL-basierte Pivots | Ja |
| Zeitzonen | Ja |
| SSL | Ja |
| Zwischensummen | Ja |
| Zusätzliche JDBC-Parameter | Ja |
| Groß- und Kleinschreibung | Nein |
| Standorttyp | Ja |
| Listentyp | Ja |
| Perzentil | Ja |
| Perzentil der unterschiedlichen Werte | Ja |
| SQL Runner – Prozesse anzeigen | Ja |
| SQL-Runner-Funktion – Tabelle beschreiben | Ja |
| SQL Runner-Befehl – Indexe anzeigen | Ja |
| SQL Runner Select 10 | Ja |
| SQL-Runner Count | Ja |
| SQL Explain | Ja |
| OAuth 2.0-Anmeldedaten | Nein |
| Kontextkommentare | Ja |
| Verbindungs-Pooling | Nein |
| HLL-Skizzen | Nein |
| Aggregate awareness | Ja |
| Inkrementelle PDTs | Ja |
| Millisekunden | Ja |
| Mikrosekunden | Ja |
| Materialisierte Ansichten | Nein |
| Vergleich zum vorherigen Zeitraum | Nein |
| Ungefähre Anzahl einzelner Aufrufe | Nein |
MySQL 8.0.12+ unterstützt ab Looker 26.0 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | Ja |
| Symmetrische Summen | Ja |
| Abgeleitete Tabellen | Ja |
| Persistente SQL-abgeleitete Tabellen | Ja |
| Persistente native abgeleitete Tabellen | Ja |
| Stabile Ansichten | Ja |
| Abfrageeabruch | Ja |
| SQL-basierte Pivots | Ja |
| Zeitzonen | Ja |
| SSL | Ja |
| Zwischensummen | Ja |
| Zusätzliche JDBC-Parameter | Ja |
| Groß- und Kleinschreibung | Nein |
| Standorttyp | Ja |
| Listentyp | Ja |
| Perzentil | Ja |
| Perzentil der unterschiedlichen Werte | Ja |
| SQL Runner – Prozesse anzeigen | Ja |
| SQL-Runner-Funktion – Tabelle beschreiben | Ja |
| SQL Runner-Befehl – Indexe anzeigen | Ja |
| SQL Runner Select 10 | Ja |
| SQL-Runner Count | Ja |
| SQL Explain | Ja |
| OAuth 2.0-Anmeldedaten | Nein |
| Kontextkommentare | Ja |
| Verbindungs-Pooling | Nein |
| HLL-Skizzen | Nein |
| Aggregate awareness | Ja |
| Inkrementelle PDTs | Ja |
| Millisekunden | Ja |
| Mikrosekunden | Ja |
| Materialisierte Ansichten | Nein |
| Vergleich zum vorherigen Zeitraum | Ja |
| Ungefähre Anzahl einzelner Aufrufe | Nein |
MariaDB unterstützt ab Looker 26.0 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | Ja |
| Symmetrische Summen | Ja |
| Abgeleitete Tabellen | Ja |
| Persistente SQL-abgeleitete Tabellen | Ja |
| Persistente native abgeleitete Tabellen | Ja |
| Stabile Ansichten | Ja |
| Abfrageeabruch | Ja |
| SQL-basierte Pivots | Nein |
| Zeitzonen | Ja |
| SSL | Ja |
| Zwischensummen | Ja |
| Zusätzliche JDBC-Parameter | Ja |
| Groß- und Kleinschreibung | Nein |
| Standorttyp | Ja |
| Listentyp | Ja |
| Perzentil | Ja |
| Perzentil der unterschiedlichen Werte | Ja |
| SQL Runner – Prozesse anzeigen | Ja |
| SQL-Runner-Funktion – Tabelle beschreiben | Ja |
| SQL Runner-Befehl – Indexe anzeigen | Ja |
| SQL Runner Select 10 | Ja |
| SQL-Runner Count | Ja |
| SQL Explain | Ja |
| OAuth 2.0-Anmeldedaten | Nein |
| Kontextkommentare | Ja |
| Verbindungs-Pooling | Nein |
| HLL-Skizzen | Nein |
| Aggregate awareness | Ja |
| Inkrementelle PDTs | Nein |
| Millisekunden | Ja |
| Mikrosekunden | Ja |
| Materialisierte Ansichten | Nein |
| Vergleich zum vorherigen Zeitraum | Nein |
| Ungefähre Anzahl einzelner Aufrufe | Nein |
SingleStore unterstützt ab Looker 26.0 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | Nein |
| Symmetrische Aggregate | Ja |
| Abgeleitete Tabellen | Ja |
| Persistente SQL-abgeleitete Tabellen | Ja |
| Persistente native abgeleitete Tabellen | Ja |
| Stabile Ansichten | Ja |
| Abfrageeabruch | Ja |
| SQL-basierte Pivots | Ja |
| Zeitzonen | Ja |
| SSL | Ja |
| Zwischensummen | Ja |
| Zusätzliche JDBC-Parameter | Ja |
| Groß- und Kleinschreibung | Nein |
| Standorttyp | Ja |
| Listentyp | Ja |
| Perzentil | Nein |
| Perzentil der unterschiedlichen Werte | Nein |
| SQL Runner – Prozesse anzeigen | Ja |
| SQL-Runner-Funktion – Tabelle beschreiben | Ja |
| SQL Runner-Befehl – Indexe anzeigen | Ja |
| SQL Runner Select 10 | Ja |
| SQL-Runner Count | Ja |
| SQL Explain | Ja |
| OAuth 2.0-Anmeldedaten | Nein |
| Kontextkommentare | Ja |
| Verbindungs-Pooling | Nein |
| HLL-Skizzen | Nein |
| Aggregate awareness | Ja |
| Inkrementelle PDTs | Nein |
| Millisekunden | Ja |
| Mikrosekunden | Ja |
| Materialisierte Ansichten | Nein |
| Vergleich zum vorherigen Zeitraum | Nein |
| Ungefähre Anzahl einzelner Aufrufe | Nein |
SingleStore 7+ unterstützt ab Looker 26.0 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | Ja |
| Symmetrische Summen | Ja |
| Abgeleitete Tabellen | Ja |
| Persistente SQL-abgeleitete Tabellen | Ja |
| Persistente native abgeleitete Tabellen | Ja |
| Stabile Ansichten | Ja |
| Abfrageeabruch | Ja |
| SQL-basierte Pivots | Ja |
| Zeitzonen | Ja |
| SSL | Ja |
| Zwischensummen | Ja |
| Zusätzliche JDBC-Parameter | Ja |
| Groß- und Kleinschreibung | Nein |
| Standorttyp | Ja |
| Listentyp | Ja |
| Perzentil | Ja |
| Perzentil der unterschiedlichen Werte | Nein |
| SQL Runner – Prozesse anzeigen | Ja |
| SQL-Runner-Funktion – Tabelle beschreiben | Ja |
| SQL Runner-Befehl – Indexe anzeigen | Ja |
| SQL Runner Select 10 | Ja |
| SQL-Runner Count | Ja |
| SQL Explain | Ja |
| OAuth 2.0-Anmeldedaten | Nein |
| Kontextkommentare | Ja |
| Verbindungs-Pooling | Nein |
| HLL-Skizzen | Nein |
| Aggregate awareness | Ja |
| Inkrementelle PDTs | Nein |
| Millisekunden | Ja |
| Mikrosekunden | Ja |
| Materialisierte Ansichten | Nein |
| Vergleich zum vorherigen Zeitraum | Nein |
| Ungefähre Anzahl einzelner Aufrufe | Nein |