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

È buona prassi criptare il traffico di rete tra l'applicazione Looker e il database. Valuta la possibilità di utilizzare una delle opzioni descritte nella pagina della documentazione Abilitare l'accesso sicuro ai database.

Se ti interessa utilizzare la crittografia SSL, consulta questa pagina della documentazione di MySQL.

Utenti e sicurezza

Per creare e concedere l'accesso richiesto all'utente di Looker, segui le istruzioni riportate nella sezione appropriata per il dialetto e la versione del 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 autenticarsi 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 in modo che utilizzi il plug-in mysql_native_password. Questa operazione può essere eseguita in diversi modi e dipenderà da come è stato implementato il database MySQL 8 e dal tipo di accesso che hai alla configurazione:

    • Avvia la procedura con il flag --default-auth=mysql_native_password

    • Imposta la proprietà nel file di configurazione 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. Esegui i seguenti 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 i seguenti 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 di database supportano la creazione di tabelle derivate permanenti (PDT). Questa funzionalità può essere molto utile e ti consigliamo di attivarla, se possibile.

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

Puoi specificare il nome del database temporaneo nel campo Database temporaneo quando crei la connessione al database. Se non specifichi un nome per il database temporaneo, Looker genera un database scratch denominato looker_tmp. I seguenti comandi utilizzano looker_tmp, ma se hai specificato un nome di database temporaneo diverso, 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 tuo database utilizza la replica basata su GTID, devi utilizzare il parametro LookML create_process per utilizzare i PDT, perché 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 normali tabelle derivate, devi comunque aggiungere determinate autorizzazioni a uno schema denominato looker_tmp. Tuttavia, lo schema looker_tmp non deve necessariamente esistere 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 max_allowed_packet su 1073741824, il suo valore massimo, per evitare errori "SQLException: il pacchetto per la query è troppo grande".

Creazione della connessione di Looker al database

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

  1. Nella sezione Amministrazione di Looker, seleziona Connessioni e poi fai clic su Aggiungi connessione.
  2. Dal menu a discesa Dialetto, seleziona il nome del dialetto del database: MySQL, MySQL 8.0.12 e versioni successive, MariaDB, SingleStore o SingleStore 7 e versioni successive.

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

  4. Per verificare che la connessione sia andata a buon fine, fai clic su Test. Per informazioni sulla risoluzione dei problemi, consulta la pagina della documentazione Testare la connettività del database.

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

Funzionalità supportate

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

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

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No

MySQL 8.0.12 e versioni successive supportano le seguenti funzionalità a partire da Looker 24.20:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No

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

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No

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

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
No
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No

SingleStore 7 e versioni successive supportano le seguenti funzionalità a partire da Looker 24.20:

Funzionalità Supportato?
Livello di assistenza
Supportato
Looker (Google Cloud core)
Aggregati simmetrici
Tabelle derivate
Tabelle derivate SQL permanenti
Tabelle derivate native permanenti
Visualizzazioni stabili
Interruzioni 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 di SQL Runner
Tabella Describe di SQL Runner
Indici di SQL Runner Show
SQL Runner Select 10
Conteggio di SQL Runner
SQL Explain
Credenziali OAuth
No
Commenti contestuali
Pool di connessioni
No
Schizzi HLL
No
Aggregate Awareness
PDT incrementali
No
Millisecondi
Microsecondi
Viste materializzate
No
Conteggio approssimativo valori distinti
No