MySQL, MariaDB und SingleStore

Dialekte, für die diese Anweisungen relevant sind

MySQL, MariaDB und SingleStore (früher MemSQL) teilen 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 SSL-Verschlüsselung finden Sie auf der 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:

In MySQL 8.0.X ist caching_sha2_password das Standard-Authentifizierungs-Plug-in. Looker verwendet das Plug-in mysql_native_password, um sich über den JDBC-Treiber bei MySQL-Datenbanken zu authentifizieren. Damit diese MySQL-Version ordnungsgemäß funktioniert, müssen Sie die folgenden zusätzlichen Schritte ausführen:

  1. 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.
  2. Führen Sie die folgenden Befehle 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, MariaDB und SingleStore:

Führen Sie die folgenden Befehle 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 nichtflüchtiger abgeleiteter 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 Temp Database (Temporäre Datenbank) angeben, wenn Sie die Datenbankverbindung erstellen. Wenn Sie keinen Namen für die temporäre Datenbank angeben, erstellt Looker eine Scratch-Datenbank mit dem Namen looker_tmp. Die folgenden Befehle verwenden looker_tmp. Wenn Sie jedoch einen anderen Namen für die temporäre Datenbank angegeben haben, verwenden Sie den Namen Ihrer temporären Datenbank anstelle von looker_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 PATs zu verwenden, da GTID keine CREATE TABLE AS SELECT-Anweisungen unterstützt.

Alternative Einrichtungsoption für reguläre abgeleitete Tabellen

Wenn Sie das Erstellen nichtflüchtiger abgeleiteter Tabellen nicht zulassen möchten, können Sie trotzdem reguläre abgeleitete Tabellen verwenden. Wenn Sie reguläre abgeleitete Tabellen verwenden möchten, müssen Sie einem Schema namens looker_tmp noch 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

Legen Sie für MySQL die MySQL-Variable max_allowed_packet auf den Maximalwert 1073741824 fest, um den Fehler „SQLException: Packet for query is to 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. Führen Sie die folgenden Schritte aus, um die Verbindung von Looker zu Ihrer Datenbank zu erstellen:

  1. Wählen Sie im Bereich Admin von Looker die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
  2. Wählen Sie im Drop-down-Menü Dialekt den Namen des Datenbankdialekts aus: MySQL, MySQL 8.0.12+, MariaDB, SingleStore oder SingleStore 7+.

  3. 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.

  4. Klicken Sie auf Testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankkonnektivität testen.

  5. 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.

MySQL unterstützt die folgenden Funktionen ab Looker 24.8:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Nein
Symmetrische Summen
Yes
Abgeleitete Tabellen
Yes
Abgeleitete SQL-Tabellen
Yes
Nichtflüchtige native abgeleitete Tabellen
Yes
Stabile Ansichten
Yes
Abfrage beenden
Yes
SQL-basierte Pivots
Yes
Zeitzonen
Yes
SSL
Yes
Zwischensummen
Yes
Zusätzliche JDBC-Parameter
Yes
Groß-/Kleinschreibung beachten
Nein
Standorttyp
Yes
Listentyp
Yes
Perzentil
Yes
Unterschiedliche Perzentile
Yes
SQL-Runner-Show-Prozesse
Yes
SQL-Runner – Tabelle beschreiben
Yes
SQL Runner – Indexe anzeigen
Yes
SQL Runner Select 10
Yes
Anzahl der SQL-Runner
Yes
SQL erklären
Yes
OAuth-Anmeldedaten
Nein
Kontextkommentare
Yes
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Yes
Inkrementelle PDTs
Yes
Millisekunden
Yes
Mikrosekunden
Yes
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Nein

MySQL 8.0.12+ unterstützt ab Looker 24.8 die folgenden Funktionen:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Yes
Symmetrische Summen
Yes
Abgeleitete Tabellen
Yes
Abgeleitete SQL-Tabellen
Yes
Nichtflüchtige native abgeleitete Tabellen
Yes
Stabile Ansichten
Yes
Abfrage beenden
Yes
SQL-basierte Pivots
Yes
Zeitzonen
Yes
SSL
Yes
Zwischensummen
Yes
Zusätzliche JDBC-Parameter
Yes
Groß-/Kleinschreibung beachten
Nein
Standorttyp
Yes
Listentyp
Yes
Perzentil
Yes
Unterschiedliche Perzentile
Yes
SQL-Runner-Show-Prozesse
Yes
SQL-Runner – Tabelle beschreiben
Yes
SQL Runner – Indexe anzeigen
Yes
SQL Runner Select 10
Yes
Anzahl der SQL-Runner
Yes
SQL erklären
Yes
OAuth-Anmeldedaten
Nein
Kontextkommentare
Yes
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Yes
Inkrementelle PDTs
Yes
Millisekunden
Yes
Mikrosekunden
Yes
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Nein

MariaDB unterstützt ab Looker 24.8 die folgenden Funktionen:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Yes
Symmetrische Summen
Yes
Abgeleitete Tabellen
Yes
Abgeleitete SQL-Tabellen
Yes
Nichtflüchtige native abgeleitete Tabellen
Yes
Stabile Ansichten
Yes
Abfrage beenden
Yes
SQL-basierte Pivots
Nein
Zeitzonen
Yes
SSL
Yes
Zwischensummen
Yes
Zusätzliche JDBC-Parameter
Yes
Groß-/Kleinschreibung beachten
Nein
Standorttyp
Yes
Listentyp
Yes
Perzentil
Yes
Unterschiedliche Perzentile
Yes
SQL-Runner-Show-Prozesse
Yes
SQL-Runner – Tabelle beschreiben
Yes
SQL Runner – Indexe anzeigen
Yes
SQL Runner Select 10
Yes
Anzahl der SQL-Runner
Yes
SQL erklären
Yes
OAuth-Anmeldedaten
Nein
Kontextkommentare
Yes
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Yes
Inkrementelle PDTs
Nein
Millisekunden
Yes
Mikrosekunden
Yes
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Nein

SingleStore unterstützt die folgenden Funktionen ab Looker 24.8:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Nein
Symmetrische Summen
Yes
Abgeleitete Tabellen
Yes
Abgeleitete SQL-Tabellen
Yes
Nichtflüchtige native abgeleitete Tabellen
Yes
Stabile Ansichten
Yes
Abfrage beenden
Yes
SQL-basierte Pivots
Yes
Zeitzonen
Yes
SSL
Yes
Zwischensummen
Yes
Zusätzliche JDBC-Parameter
Yes
Groß-/Kleinschreibung beachten
Nein
Standorttyp
Yes
Listentyp
Yes
Perzentil
Nein
Unterschiedliche Perzentile
Nein
SQL-Runner-Show-Prozesse
Yes
SQL-Runner – Tabelle beschreiben
Yes
SQL Runner – Indexe anzeigen
Yes
SQL Runner Select 10
Yes
Anzahl der SQL-Runner
Yes
SQL erklären
Yes
OAuth-Anmeldedaten
Nein
Kontextkommentare
Yes
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Yes
Inkrementelle PDTs
Nein
Millisekunden
Yes
Mikrosekunden
Yes
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Nein

SingleStore 7+ unterstützt die folgenden Funktionen ab Looker 24.8:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Yes
Symmetrische Summen
Yes
Abgeleitete Tabellen
Yes
Abgeleitete SQL-Tabellen
Yes
Nichtflüchtige native abgeleitete Tabellen
Yes
Stabile Ansichten
Yes
Abfrage beenden
Yes
SQL-basierte Pivots
Yes
Zeitzonen
Yes
SSL
Yes
Zwischensummen
Yes
Zusätzliche JDBC-Parameter
Yes
Groß-/Kleinschreibung beachten
Nein
Standorttyp
Yes
Listentyp
Yes
Perzentil
Yes
Unterschiedliche Perzentile
Nein
SQL-Runner-Show-Prozesse
Yes
SQL-Runner – Tabelle beschreiben
Yes
SQL Runner – Indexe anzeigen
Yes
SQL Runner Select 10
Yes
Anzahl der SQL-Runner
Yes
SQL erklären
Yes
OAuth-Anmeldedaten
Nein
Kontextkommentare
Yes
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Yes
Inkrementelle PDTs
Nein
Millisekunden
Yes
Mikrosekunden
Yes
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Nein