MySQL, MariaDB e SingleStore

Dialetti che utilizzano queste istruzioni

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

Crittografia del traffico di rete

Una delle best practice consiste nel 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 ti interessa 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 riportate nella sezione appropriata per il dialetto e la versione del tuo database:

MySQL 8.0.X:

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 eseguire l'autenticazione nei database MySQL tramite il driver JDBC. Affinché questa versione di MySQL funzioni correttamente, devi eseguire i seguenti passaggi aggiuntivi:

  1. Configura il database MySQL per l'utilizzo del 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:

    • Avvia 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 che viene applicato a questa istanza del database.
  2. Esegui questi comandi, 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 versioni precedenti, MariaDB e SingleStore:

Esegui questi comandi, 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 le tabelle derivate permanenti

Questi dialetti del database supportano la creazione di tabelle derivate permanenti (PDT). Questa funzionalità può essere molto utile e ti consigliamo di attivarla quando possibile.

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

Puoi specificare il nome del database temporaneo nel campo Database temporaneo durante la creazione della connessione al database. Se non specifichi un nome per il database temporaneo, Looker genera un database temporaneo denominato looker_tmp. I comandi seguenti utilizzano looker_tmp, ma se hai specificato un nome diverso per il database temporaneo, utilizza il nome del database temporaneo anziché 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 database utilizza la replica basata su GTID, devi utilizzare il parametro LookML create_process per utilizzare le PDT, poiché GTID non supporta le istruzioni CREATE TABLE AS SELECT.

Configurazione alternativa per le tabelle derivate regolari

Se non vuoi consentire la creazione di tabelle derivate permanenti, puoi comunque utilizzare le tabelle derivate normali. Per utilizzare le tabelle derivate normali, devi comunque aggiungere determinate autorizzazioni a uno schema denominato looker_tmp. Tuttavia, lo schema looker_tmp in realtà non deve essere presente 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

Impostazione della variabile max_allowed_packet

Per MySQL, imposta la variabile MySQL max_allowed_packet sul valore massimo, 1073741824, per evitare errori di tipo "SQLEccezione: il pacchetto per la query è troppo grande".

Creazione della connessione Looker al tuo database

Dopo aver completato la configurazione del database, puoi connetterti al database da Looker. Per creare la connessione da Looker al tuo database:

  1. Nella sezione Admin (Amministrazione) di Looker, seleziona Connections (Connessioni) e fai clic su Add Connection (Aggiungi connessione).
  2. Dal menu a discesa Dialect, seleziona il nome del dialetto del database: MySQL, MySQL 8.0.12+, MariaDB, SingleStore o SingleStore 7+.

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

  4. Per verificare che la connessione venga stabilita, fai clic su Prova. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione relativa ai test di connettività dei database.

  5. Per salvare queste impostazioni, fai clic su Connetti.

Supporto delle funzionalità

Affinché Looker possa supportare alcune funzionalità, è necessario che anche il dialetto del database le supporti.

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

Selezione delle Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi di visualizzazione SQL Runner
Descrivi tabella SQL Runner
Indici di visualizzazione SQL Runner
SQL Runner Select 10
Conteggio esecutori SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
No
Schizzi HLL
No
Awareness aggregato
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

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

Selezione delle Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi di visualizzazione SQL Runner
Descrivi tabella SQL Runner
Indici di visualizzazione SQL Runner
SQL Runner Select 10
Conteggio esecutori SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
No
Schizzi HLL
No
Awareness aggregato
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

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

Selezione delle Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
No
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
Processi di visualizzazione SQL Runner
Descrivi tabella SQL Runner
Indici di visualizzazione SQL Runner
SQL Runner Select 10
Conteggio esecutori SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
No
Schizzi HLL
No
Awareness aggregato
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

SingleStore supporta le seguenti funzionalità a partire da Looker 24.8:

Selezione delle Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
No
Percentile distinto
No
Processi di visualizzazione SQL Runner
Descrivi tabella SQL Runner
Indici di visualizzazione SQL Runner
SQL Runner Select 10
Conteggio esecutori SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
No
Schizzi HLL
No
Awareness aggregato
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No

SingleStore 7 e versioni successive supporta le seguenti funzionalità a partire da Looker 24.8:

Selezione delle Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Eliminazione delle query
Pivot basati su SQL
Fusi orari
SSL
Subtotali
Parametri aggiuntivi JDBC
Sensibilità alle maiuscole
No
Tipo di località
Tipo di elenco
Percentile
Percentile distinto
No
Processi di visualizzazione SQL Runner
Descrivi tabella SQL Runner
Indici di visualizzazione SQL Runner
SQL Runner Select 10
Conteggio esecutori SQL
Spiegazione SQL
Credenziali OAuth
No
Commenti contestuali
Pooling di connessioni
No
Schizzi HLL
No
Awareness aggregato
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo distinto
No