MySQL, Clustrix, MariaDB und SingleStore

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. Ziehen Sie eine der Optionen auf der Seite Zugriff auf sichere Datenbanken aktivieren in Betracht.

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 mit der Patch-Version 8.0.12+ implementiert, weil MySQL entsprechend der impliziten Sortierung in der GROUP BY-Klausel eingestellt wird. 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. Ältere MySQL-Versionen funktionieren jedoch weiterhin, außer bei Zwischensummen.

In MySQL 8.0.X ist das Standardauthentifizierungs-Plug-in caching_sha2_password. Looker verwendet das Plug-in mysql_native_password, um zu versuchen, 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 mysql_native_password-Plug-ins. Dies kann auf mehrere Arten geschehen und hängt davon ab, wie Ihre MySQL 8-Datenbank bereitgestellt wurde und welche Art von Zugriff Sie auf die Konfiguration haben:
    1. Prozess mit dem Flag --default-auth=mysql_native_password starten
    2. Legen Sie das Attribut in der Konfigurationsdatei my.cnf fest:
      ```none [mysqld] default-authentication-plugin=mysql_native_password ```
    3. 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.

  2. 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 Temp Database angeben, wenn Sie Ihre Datenbankverbindung erstellen. Wenn Sie keinen temporären Datenbanknamen angeben, generiert Looker eine Scratch-Datenbank mit dem Namen looker_tmp. In den folgenden Befehlen wird looker_tmp verwendet. Wenn Sie jedoch einen anderen temporären Datenbanknamen angegeben haben, verwenden Sie diesen Namen 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 die GTID-basierte Replikation verwendet, müssen Sie für den Einsatz von PDTs den LookML-Parameter create_process 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 ihren Maximalwert 1073741824 fest, um zu verhindern, dass „SQLException: Paket für Abfrage zu groß“ ist.

Unterstützte Funktionen

Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.

In der neuesten Version von Looker unterstützt MySQL die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt MySQL 8.0.12+ die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt Clustrix die folgenden Looker-Funktionen:

In der neuesten Version von Looker unterstützt MariaDB die folgenden Looker-Features:

In der neuesten Version von Looker unterstützt SingleStore die folgenden Looker-Funktionen:

In der neuesten Version von Looker unterstützt SingleStore 7+ die folgenden Looker-Funktionen:

Nächste Schritte

Nachdem Sie die Datenbankkonfiguration abgeschlossen haben, können Sie mithilfe dieser Anleitung eine Verbindung zur Datenbank herstellen.

Achten Sie beim Erstellen von Verbindungen darauf, den richtigen Datenbankdialekt zu verwenden. Auch wenn die Konfiguration der Datenbankkonfiguration für MySQL, Clustrix, MariaDB und SingleStore identisch ist, sollten Sie auf der Seite „Connections“ (Verbindungen) im Drop-down-Menü Dialekt den gewünschten Dialekt auswählen. Weitere Informationen