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 relativa all'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 tuo dialetto e la tua versione del database:

MySQL 8.0.X:

L'opzione di dialetto MySQL MySQL 8.0.X è implementata con la versione patch 8.0.12+ a causa di un deprecazione MySQL nell'ordinamento implicito nella clausola GROUP BY. Questo influisce sui subtotali di Looker per le versioni di MySQL da 8.0.0 a 8.0.11, 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, a parte i subtotali.

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 seguire questi passaggi aggiuntivi:

  1. Configura il database MySQL per utilizzare il plug-in mysql_native_password. Puoi farlo in vari modi e dipende dal modo in cui viene eseguito il deployment del database MySQL 8 e dal tipo di accesso che hai nella configurazione:
    1. Avvia la procedura con il flag --default-auth=mysql_native_password.
    2. Imposta la proprietà nel file di configurazione my.cnf:
      ```none [mysqld] default-authentication-plugin=mysql_native_password ```
    3. Se l'istanza del database è ospitata tramite AWS RDS, imposta il parametro default_authentication_plugin tramite un gruppo di parametri RDS applicato a questa istanza del database.

  2. Utilizza 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:

Utilizza 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 le tabelle derivate permanenti

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

Per attivare le PDT, devi configurare uno schema temporaneo. I comandi seguenti mostrano un esempio di creazione di un database temporaneo e di concessione dei privilegi richiesti 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 temporaneo 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 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 database utilizza la replica basata su GTID, devi utilizzare il parametro LookML create_process per utilizzare le PDT, perché GTID non supporta le istruzioni CREATE TABLE AS SELECT.

Configurazione alternativa per le tabelle derivate normali

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 chiamato looker_tmp. Tuttavia, lo schema looker_tmp non deve necessariamente esistere nel tuo 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 suo valore massimo, 1073741824, per evitare "SQLException: Packet for query is too large" errors.

Supporto delle funzionalità

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

Nell'ultima release di Looker, MySQL supporta le seguenti funzionalità di Looker:

Nella versione più recente di Looker, MySQL 8.0.12+ supporta le seguenti funzionalità di Looker:

Nella versione più recente di Looker, Clustrix supporta le seguenti funzionalità di Looker:

Nell'ultima release di Looker, MariaDB supporta le seguenti funzionalità di Looker:

Nell'ultima release di Looker, SingleStore supporta le seguenti funzionalità di Looker:

Nella versione più recente di Looker, SingleStore 7 e versioni successive supportano le seguenti funzionalità di Looker:

Passaggi successivi

Dopo aver completato la configurazione del database, puoi connetterti al database da Looker utilizzando queste istruzioni.

Quando crei le connessioni, assicurati di utilizzare il nome del dialetto del database corretto. Anche se le istruzioni di configurazione del database sono le stesse per MySQL, Clustrix, MariaDB e SingleStore, assicurati di scegliere il dialetto specifico dal menu a discesa Dialetto nella pagina Connessioni, descritto in seguito.