MySQL, Clustrix, MariaDB e SingleStore

Dialetti che utilizzano queste istruzioni

MySQL, Clustrix, MariaDB e SingleStore (in precedenza MemSQL) condividono i requisiti di configurazione del database descritti in questa pagina.

Crittografia del traffico di rete

Looker consiglia di criptare il traffico di rete tra l'applicazione Looker e il tuo database. Valuta una delle opzioni descritte nella pagina della documentazione Abilitazione dell'accesso sicuro al database.

Se vuoi utilizzare la crittografia SSL, consulta questa pagina della documentazione MySQL.

Utenti e sicurezza

Per creare e concedere l'accesso richiesto all'utente Looker, segui le istruzioni nella sezione appropriata per il dialetto e la versione del database:

MySQL 8.0.X:

L'opzione dialetto MySQL MySQL 8.0.X è implementata con la versione patch 8.0.12+ a causa di un deprecazione di MySQL nell'ordinamento implicito nella clausola GROUP BY. Questo influisce sui subtotali di Looker per le versioni da 8.0.0 a 8.0.11 di MySQL, causando errori di generazione SQL. Looker consiglia di eseguire l'upgrade di qualsiasi database MySQL 8.0.X ad almeno 8.0.12 per l'integrazione completa. Tuttavia, le versioni precedenti di MySQL continueranno a funzionare, ad eccezione dei totali parziali.

In MySQL 8.0.X, il plug-in di autenticazione predefinito è caching_sha2_password. Looker utilizza il plug-in mysql_native_password per tentare di autenticarsi nei database MySQL tramite il driver JDBC. Affinché questa versione di MySQL funzioni correttamente, devi seguire questi passaggi aggiuntivi:

  1. Configura il database MySQL per utilizzare il plug-in mysql_native_password. Questa operazione può essere eseguita in diversi modi e dipende dal modo in cui viene eseguito il deployment del database MySQL 8 e dal tipo di accesso alla configurazione:

    • Avviare la procedura con il flag --default-auth=mysql_native_password.

    • Imposta la proprietà nel file di configurazione di my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
    • Se l'istanza di database è ospitata tramite AWS RDS, imposta il parametro default_authentication_plugin tramite un gruppo di parametri RDS applicato a questa istanza di database.
  2. Pronuncia le seguenti istruzioni, sostituendo some_password_here con una password univoca e sicura:

CREATE USER looker IDENTIFIED WITH mysql_native_password BY 'some_password_here';
GRANT SELECT ON database_name.* TO 'looker'@'%';

MySQL 5.7.X e precedenti, Clustrix, MariaDB e SingleStore:

Pronuncia le seguenti istruzioni, sostituendo some_password_here con una password univoca e sicura:

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('some_password_here');
GRANT SELECT ON database_name.* TO 'looker'@'%';

Configurazione dello schema temporaneo per tabelle derivate permanenti

Questi dialetti di database supportano la creazione di tabelle derivate persistenti (PDT, Persistent Derived Table). Questa funzionalità può essere molto utile e ti consigliamo di attivarla quando possibile.

Per abilitare le PDT, devi configurare uno schema temporaneo. I comandi riportati di seguito mostrano un esempio di creazione di un database temporaneo e della concessione dei privilegi richiesti all'utente looker.

Puoi specificare il nome del database temporaneo nel campo Temp Database (Database temporaneo) durante la creazione della connessione al database. Se non specifichi un nome di database temporaneo, Looker genera un database temporaneo denominato looker_tmp. I seguenti comandi usano looker_tmp, ma se hai specificato un nome di database temporaneo diverso, utilizza quello temporaneo invece di looker_tmp.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

Per SingleStore, o se il tuo database utilizza la replica basata su GTID, devi utilizzare il parametro LookML di create_process per utilizzare le PDT, poiché GTID non supporta le istruzioni CREATE TABLE AS SELECT.

Configurazione alternativa per le tabelle derivate standard

Se non vuoi consentire la creazione di tabelle derivate persistenti, puoi comunque utilizzare le tabelle derivate regolari. Per utilizzare le tabelle derivate normali, devi comunque aggiungere determinate autorizzazioni a uno schema chiamato looker_tmp. In realtà, non è necessario che lo schema looker_tmp esista nel database.

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

Imposta la variabile max_allowed_packet

Per MySQL, imposta la variabile MySQL max_allowed_packet sul valore massimo, 1073741824, per evitare errori "SQLException: Packet for query is too large".

Creazione della connessione di Looker al database

Dopo aver completato la configurazione del database, puoi connetterti al database da Looker. Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).

Compila i dettagli della connessione. La maggior parte delle impostazioni è comune alla maggior parte dei dialetti di database. Per informazioni, consulta la pagina della documentazione Connessione di Looker al tuo database.

Per verificare che la connessione sia riuscita, fai clic su Prova. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività dei database.

Per salvare queste impostazioni, fai clic su Connetti.

Assistenza per le funzionalità

Affinché Looker supporti alcune funzionalità, anche il dialetto del tuo database deve supportarle.

A partire da Looker 23.8, MySQL supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Richiesta supportata
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti da SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Termine query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Distintivo percentile
Processi di visualizzazione di SQL Runner
Tabella di descrizione di SQL Runner
Indici di SQL Runner
SQL Runner Seleziona 10
Conteggio SQL Runner
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling della connessione
No
Disegni HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

MySQL 8.0.12+ supporta le seguenti funzionalità a partire da Looker 23.8:

Funzionalità Supportato?
Livello di assistenza
Richiesta supportata
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti da SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Termine query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Distintivo percentile
Processi di visualizzazione di SQL Runner
Tabella di descrizione di SQL Runner
Indici di SQL Runner
SQL Runner Seleziona 10
Conteggio SQL Runner
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling della connessione
No
Disegni HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

A partire da Looker 23.8, Clustrix supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Richiesta supportata
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti da SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
No
Termine query
Pivot basati su SQL
No
Fusi orari
SSL
Subtotali
No
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
No
Distintivo percentile
No
Processi di visualizzazione di SQL Runner
No
Tabella di descrizione di SQL Runner
Indici di SQL Runner
SQL Runner Seleziona 10
Conteggio SQL Runner
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling della connessione
No
Disegni HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
No
Microsecondi
No
Viste materializzate
No
Conteggio approssimativo distinto
No

A partire da Looker 23.8, MariaDB supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Richiesta supportata
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti da SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Termine query
Pivot basati su SQL
No
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Distintivo percentile
Processi di visualizzazione di SQL Runner
Tabella di descrizione di SQL Runner
Indici di SQL Runner
SQL Runner Seleziona 10
Conteggio SQL Runner
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling della connessione
No
Disegni HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

A partire da Looker 23.8, SingleStore supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Richiesta supportata
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti da SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Termine query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
No
Distintivo percentile
No
Processi di visualizzazione di SQL Runner
Tabella di descrizione di SQL Runner
Indici di SQL Runner
SQL Runner Seleziona 10
Conteggio SQL Runner
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling della connessione
No
Disegni HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

A partire da Looker 23.8, SingleStore 7+ supporta le seguenti funzionalità:

Funzionalità Supportato?
Livello di assistenza
Richiesta supportata
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate permanenti da SQL
Tabelle derivate native permanenti
Visualizzazioni stabili
Termine query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Distintivo percentile
No
Processi di visualizzazione di SQL Runner
Tabella di descrizione di SQL Runner
Indici di SQL Runner
SQL Runner Seleziona 10
Conteggio SQL Runner
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling della connessione
No
Disegni HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No