MySQL, Clustrix, MariaDB et SingleStore

Dialectes utilisant ces instructions

Les conditions de configuration de base de données décrites dans cette page sont valables pour MySQL, Clustrix, MariaDB et SingleStore (anciennement MemSQL).

Chiffrement du trafic réseau

Il est vivement conseillé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Choisissez l'une des options décrites dans la page Activer l'accès sécurisé aux bases de données.

Si vous souhaitez utiliser le chiffrement SSL, consultez cette page de la documentation MySQL.

Utilisateurs et sécurité

Pour créer et octroyer un accès demandé à un utilisateur Looker, suivez les instructions de la section correspondant au dialecte et à la version de votre base de données :

MySQL 8.0.X :

L'option du dialecte Looker 8.0.X de Looker est implémentée avec la version de correctif 8.0.12+ en raison d'un abandon de MySQL dans le tri implicite dans la clause GROUP BY. Ce problème affecte les sous-totaux pour les versions 8.0.0 à 8.0.11 de MySQL, ce qui entraîne des erreurs de génération SQL. Looker recommande de mettre à niveau toutes les bases de données MySQL 8.0.X vers la version 8.0.12 ou plus pour assurer une intégration optimale. Cependant, les versions antérieures de MySQL fonctionneront toujours, hormis les sous-totaux.

Dans MySQL 8.0.X, le plug-in d'authentification par défaut est caching_sha2_password. Looker utilise le plug-in mysql_native_password pour tenter de s'authentifier auprès de bases de données MySQL via le pilote JDBC. Pour que cette version de MySQL fonctionne correctement, vous devez suivre les étapes supplémentaires suivantes:

  1. Configurez la base de données MySQL pour utiliser le plug-in mysql_native_password. Pour cela, plusieurs options sont possibles, selon la manière dont votre base de données MySQL 8 est déployée le type d'accès dont vous disposez pour la configuration :

    • Démarrer le processus avec l'indicateur --default-auth=mysql_native_password

    • Définissez la propriété dans le fichier de configuration my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
    • Si votre instance de base de données est hébergée via AWS RDS, définissez le paramètre default_authentication_plugin via un groupe de paramètres RDS qui est appliqué à cette instance de base de données.
  2. Exécutez les instructions suivantes, en remplaçant some_password_here par un mot de passe unique et sécurisé:

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

MySQL 5.7.x et versions antérieures, Clustrix, MariaDB et SingleStore :

Exécutez les instructions suivantes, en remplaçant some_password_here par un mot de passe unique et sécurisé:

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

Configuration d'un schéma temporaire pour les tables dérivées persistantes

Ces dialectes de base de données permettent de créer des tables dérivées persistantes (PDT). Ces dernières peuvent être très utiles et nous vous conseillons de vous en servir dès que possible.

Pour activer la création de tables PDT, vous devez configurer un schéma temporaire. Les commandes suivantes illustrent un exemple de création d'une base de données temporaire et d'attribution de droits à l'utilisateur looker.

Vous pouvez indiquer le nom de la base de données temporaire dans le champ Temp Database (Base de données temporaire) lorsque vous créez votre connexion à la base de données. Si vous ne spécifiez pas de nom de base de données temporaire, Looker génère une base de données de travail nommée looker_tmp. Les commandes suivantes utilisent looker_tmp, mais si vous avez spécifié un nom de base de données temporaire différent, utilisez le nom de la base de données temporaire au lieu de looker_tmp.

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

Pour SingleStore, ou si votre base de données utilise la réplication basée sur GTID, vous devez utiliser le paramètre LookML create_process pour utiliser des PDT, car les GTID ne sont pas compatibles avec les instructions CREATE TABLE AS SELECT.

Configuration alternative pour les tables dérivées régulières

Si vous ne souhaitez pas autoriser la création de tables dérivées persistantes, vous pouvez quand même utiliser des tables dérivées standards. Pour utiliser les tables dérivées standards, vous devez tout de même ajouter certaines autorisations à un schéma appelé looker_tmp. Cependant, le schéma looker_tmp n'a pas besoin d'exister dans votre base de données.

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

Définir la variable max_allowed_packet

Pour MySQL, définissez la variable MySQL max_allowed_packet sur sa valeur maximale, 1073741824, afin d'éviter les erreurs "SQLException: Packet for query is Too large" (Exception SQL : le paquet de requête est trop volumineux).

Créer la connexion Looker à votre base de données

Une fois la base de données configurée, vous pouvez vous y connecter depuis Looker. Dans la section Administration de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.

Saisissez les informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.

Pour vérifier que la connexion a réussi, cliquez sur Tester. Pour en savoir plus sur le dépannage, consultez la page de test de la connectivité de la base de données.

Pour enregistrer ces paramètres, cliquez sur Connecter.

Prise en charge de fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

MySQL est compatible avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt des requêtes
Oui
Pivots basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

MySQL 8.0.12+ est compatible avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt des requêtes
Oui
Pivots basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

Clustrix est compatible avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Non
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Non
Arrêt des requêtes
Oui
Pivots basés sur SQL
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Non
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Non
Centile distinct
Non
Processus d'affichage de l'exécuteur SQL
Non
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Non
Microsecondes
Non
Vues matérialisées
Non
Nombre approximatif distinct
Non

À partir de la version 23.8, MariaDB est compatible avec les fonctionnalités suivantes:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt des requêtes
Oui
Pivots basés sur SQL
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

SingleStore est compatible avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Non
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt des requêtes
Oui
Pivots basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Non
Centile distinct
Non
Processus d'affichage de l'exécuteur SQL
Oui
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

À partir de la version 23.8, SingleStore 7+ est compatible avec les fonctionnalités suivantes:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt des requêtes
Oui
Pivots basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Non
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Non
Processus d'affichage de l'exécuteur SQL
Oui
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non