Dialekte, für die diese Anweisungen relevant sind
Für MySQL, MariaDB und SingleStore (früher MemSQL) gelten die auf dieser Seite beschriebenen Anforderungen für die Einrichtung der Datenbank.
Netzwerk-Datenverkehr verschlüsseln
Es empfiehlt sich, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Sehen Sie sich eine der Optionen an, die auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben werden.
Informationen zur Verwendung der SSL-Verschlüsselung finden Sie in der MySQL-Dokumentation.
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 das Standard-Plug-in für die Authentifizierung caching_sha2_password
. Looker verwendet das Plug-in mysql_native_password
für die Authentifizierung bei MySQL-Datenbanken über den JDBC-Treiber. Damit diese MySQL-Version 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:Starten Sie den Prozess mit dem Flag
--default-auth=mysql_native_password
.Legen Sie das Attribut in der Konfigurationsdatei
my.cnf
fest:
[mysqld] default-authentication-plugin=mysql_native_password
- Wenn Ihre Datenbankinstanz über AWS RDS gehostet wird, legen Sie den Parameter
default_authentication_plugin
über eine RDS-Parametergruppe fest, die auf diese Datenbankinstanz angewendet wird.
Führen Sie die folgenden Befehle aus und ersetzen Sie
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, 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 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 Namen für eine temporäre Datenbank angeben, erstellt Looker eine Scratch-Datenbank mit dem Namen
looker_tmp
. In den folgenden Befehlen wirdlooker_tmp
verwendet. Wenn Sie jedoch einen anderen Namen für die temporäre Datenbank angegeben haben, verwenden Sie den Namen Ihrer temporären Datenbank anstelle vonlooker_tmp
.
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 reguläre abgeleitete Tabellen verwenden. Zur Verwendung regulärer abgeleiteter Tabellen müssen Sie einem Schema namens looker_tmp
trotzdem bestimmte Berechtigungen hinzufügen. Das Schema looker_tmp
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
Setzen Sie die MySQL-Variable max_allowed_packet
für MySQL auf den Höchstwert 1073741824, um die Meldung „SQLException: Packet for query is Zu groß“ (SQL-Ausnahme: Paket für Abfrage ist zu groß) zu vermeiden. Fehler.
Looker-Verbindung zu Ihrer Datenbank erstellen
Im Anschluss an die Datenbankkonfiguration können Sie in Looker eine Verbindung mit der Datenbank herstellen. Führen Sie die folgenden Schritte aus, um die Verbindung von Looker zu Ihrer Datenbank herzustellen:
- 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 der Datenbank aus: MySQL, MySQL 8.0.12+, MariaDB, SingleStore oder SingleStore 7+.
Geben Sie die Verbindungsdetails ein. Die meisten Einstellungen sind den meisten Datenbankdialekten gemeinsam. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
Klicken Sie auf Testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung testen.
Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.
Funktionsunterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
MySQL unterstützt ab Looker 24.12 die folgenden Funktionen:
Feature | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Nein |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-Abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Ansichten | Ja |
Anfrage wird abgebrochen | Ja |
SQL-basierte Drehpunkte | Ja |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Ja |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Nein |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Ja |
Unterschiedliches Perzentil | Ja |
SQL Runner – Prozesse anzeigen | Ja |
SQL Runner – Tabelle beschreiben | Ja |
SQL Runner – Indexe anzeigen | Ja |
SQL Runner – Select 10 | Ja |
Anzahl der SQL-Runner | Ja |
SQL Explain | Ja |
OAuth-Anmeldedaten | Nein |
Kontextkommentare | Ja |
Verbindungs-Pooling | Nein |
HLL-Skizzen | Nein |
Aggregatfunktion | Ja |
Inkrementelle PDTs | Ja |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl einzelner | Nein |
MySQL 8.0.12+ unterstützt die folgenden Funktionen ab Looker 24.12:
Feature | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Ja |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-Abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Ansichten | Ja |
Anfrage wird abgebrochen | Ja |
SQL-basierte Drehpunkte | Ja |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Ja |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Nein |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Ja |
Unterschiedliches Perzentil | Ja |
SQL Runner – Prozesse anzeigen | Ja |
SQL Runner – Tabelle beschreiben | Ja |
SQL Runner – Indexe anzeigen | Ja |
SQL Runner – Select 10 | Ja |
Anzahl der SQL-Runner | Ja |
SQL Explain | Ja |
OAuth-Anmeldedaten | Nein |
Kontextkommentare | Ja |
Verbindungs-Pooling | Nein |
HLL-Skizzen | Nein |
Aggregatfunktion | Ja |
Inkrementelle PDTs | Ja |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl einzelner | Nein |
MariaDB unterstützt ab Looker 24.12 die folgenden Funktionen:
Feature | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Ja |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-Abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Ansichten | Ja |
Anfrage wird abgebrochen | Ja |
SQL-basierte Drehpunkte | Nein |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Ja |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Nein |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Ja |
Unterschiedliches Perzentil | Ja |
SQL Runner – Prozesse anzeigen | Ja |
SQL Runner – Tabelle beschreiben | Ja |
SQL Runner – Indexe anzeigen | Ja |
SQL Runner – Select 10 | Ja |
Anzahl der SQL-Runner | Ja |
SQL Explain | Ja |
OAuth-Anmeldedaten | Nein |
Kontextkommentare | Ja |
Verbindungs-Pooling | Nein |
HLL-Skizzen | Nein |
Aggregatfunktion | Ja |
Inkrementelle PDTs | Nein |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl einzelner | Nein |
SingleStore unterstützt ab Looker 24.12 die folgenden Features:
Feature | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Nein |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-Abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Ansichten | Ja |
Anfrage wird abgebrochen | Ja |
SQL-basierte Drehpunkte | Ja |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Ja |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Nein |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Nein |
Unterschiedliches Perzentil | Nein |
SQL Runner – Prozesse anzeigen | Ja |
SQL Runner – Tabelle beschreiben | Ja |
SQL Runner – Indexe anzeigen | Ja |
SQL Runner – Select 10 | Ja |
Anzahl der SQL-Runner | Ja |
SQL Explain | Ja |
OAuth-Anmeldedaten | Nein |
Kontextkommentare | Ja |
Verbindungs-Pooling | Nein |
HLL-Skizzen | Nein |
Aggregatfunktion | Ja |
Inkrementelle PDTs | Nein |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl einzelner | Nein |
SingleStore 7+ unterstützt ab Looker 24.12 die folgenden Funktionen:
Feature | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Ja |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-Abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Ansichten | Ja |
Anfrage wird abgebrochen | Ja |
SQL-basierte Drehpunkte | Ja |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Ja |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Nein |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Ja |
Unterschiedliches Perzentil | Nein |
SQL Runner – Prozesse anzeigen | Ja |
SQL Runner – Tabelle beschreiben | Ja |
SQL Runner – Indexe anzeigen | Ja |
SQL Runner – Select 10 | Ja |
Anzahl der SQL-Runner | Ja |
SQL Explain | Ja |
OAuth-Anmeldedaten | Nein |
Kontextkommentare | Ja |
Verbindungs-Pooling | Nein |
HLL-Skizzen | Nein |
Aggregatfunktion | Ja |
Inkrementelle PDTs | Nein |
Millisekunden | Ja |
Mikrosekunden | Ja |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl einzelner | Nein |