Dialekte, für die diese Anweisungen relevant sind
Die auf dieser Seite beschriebenen Anforderungen für die Einrichtung der Datenbank gelten für MySQL, Clustrix, MariaDB und SingleStore (ehemals MemSQL).
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 auf dieser MySQL-Dokumentationsseite.
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:
Die Dialektoption von Looker MySQL 8.0.X wurde aufgrund der Patchversion 8.0.12+ implementiert, weil in der
GROUP BY
-Klausel eine MySQL-Einstellung bei impliziter Sortierung vorgenommen wurde. Davon betroffen sind die Zwischensummen bei den Versionen 8.0.0 bis 8.0.11 von MySQL, wodurch Generierungsfehler verursacht werden. Um die Integration erfolgreich abschließen zu können, empfiehlt Looker die Aktualisierung der MySQL-Datenbanken von Version 8.0.X auf 8.0.12 oder neuer. Abgesehen von Zwischensummen funktionieren ältere MySQL-Versionen jedoch weiterhin.
In MySQL 8.0.X ist das Standard-Authentifizierungs-Plug-in caching_sha2_password
. Looker verwendet das Plug-in mysql_native_password
, um sich über den JDBC-Treiber bei 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 Plug-ins
mysql_native_password
. Dafür gibt es verschiedene Vorgehensweisen, die je nach Bereitstellungsvariante der MySQL 8-Datenbank und Art der Zugriffsberechtigung variieren:Vorgang mit dem Flag
--default-auth=mysql_native_password
startenLegen Sie das Attribut in der
my.cnf
-Konfigurationsdatei fest:
[mysqld] default-authentication-plugin=mysql_native_password
- Wenn die Datenbankinstanz über AWS RDS gehostet wird, legen Sie den Parameter
default_authentication_plugin
über eine RDS-Parametergruppe fest, die auf diese Datenbankinstanz angewendet wird.
Geben Sie die folgenden Anweisungen aus und ersetzen Sie dabei
some_password_here
durch 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, Clustrix, MariaDB und SingleStore:
Geben Sie die folgenden Anweisungen aus und ersetzen Sie dabei 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 das Erstellen 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 das Erstellen einer temporären Datenbank und das Gewähren der erforderlichen Berechtigungen für den Nutzer looker
.
Sie können den Namen der temporären Datenbank im Feld Temporäre Datenbank angeben, wenn Sie die Datenbankverbindung erstellen. Wenn Sie keinen temporären Datenbanknamen angeben, generiert Looker eine Scratch-Datenbank mit dem Namen
looker_tmp
. In den folgenden Befehlen wirdlooker_tmp
verwendet. Wenn Sie jedoch einen anderen temporären Datenbanknamen angegeben haben, verwenden Sie anstelle vonlooker_tmp
Ihren temporären Datenbanknamen.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Für SingleStore oder wenn Ihre Datenbank GTID-basierte Replikation verwendet, müssen Sie den LookML-Parameter create_process
verwenden, um PDTs zu verwenden, da GTID keine CREATE TABLE AS SELECT
-Anweisungen unterstützt.
Alternative Einrichtungsoption für reguläre abgeleitete Tabellen
Wenn Sie das Erstellen von persistenten abgeleiteten Tabellen nicht zulassen möchten, können Sie trotzdem normale abgeleitete Tabellen verwenden. Wenn Sie reguläre abgeleitete Tabellen verwenden möchten, müssen Sie einem Schema namens looker_tmp
trotzdem bestimmte Berechtigungen hinzufügen. Das looker_tmp
-Schema muss jedoch 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
Legen Sie für MySQL die Variable max_allowed_packet
auf den Maximalwert 1073741824 fest, um den Fehler „SQLException: Packet for Query zu groß“ zu verhindern.
Looker-Verbindung zu Ihrer Datenbank erstellen
Im Anschluss an die Datenbankkonfiguration können Sie in Looker eine Verbindung mit der Datenbank herstellen. 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 |
MySQL 8.0.12+ unterstützt ab Looker 23.8 die folgenden Funktionen:
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 |
Ab Looker 23.8 unterstützt Clustrix die folgenden Funktionen:
Funktion | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Nein |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Über SQL abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Aufrufe | Nein |
Abfrageabbau | Ja |
SQL-basierte Pivots | Nein |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Nein |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Nein |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Nein |
Eindeutiges Perzentil | Nein |
Prozesse der SQL Runner-Sendung | Nein |
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 | Nein |
Millisekunden | Nein |
Mikrosekunden | Nein |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl Einzeln | Nein |
Ab Looker 23.8 unterstützt MariaDB die folgenden Funktionen:
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 | Nein |
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 | Nein |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl Einzeln | Nein |
SingleStore unterstützt ab Looker 23.8 die folgenden Funktionen:
Funktion | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Nein |
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 | Nein |
Eindeutiges Perzentil | Nein |
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 | Nein |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl Einzeln | Nein |
SingleStore 7 oder höher unterstützt ab Looker 23.8 die folgenden Funktionen:
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 | Nein |
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 | Nein |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl Einzeln | Nein |