MySQL, MariaDB et SingleStore

Dialectes utilisant ces instructions

MySQL, MariaDB et SingleStore (anciennement MemSQL) partagent les exigences de configuration de base de données décrites sur cette page.

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.

Si vous souhaitez utiliser le chiffrement SSL, consultez cette page de 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 :

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 des bases de données MySQL via le pilote JDBC. Pour que cette version de MySQL fonctionne correctement, vous devez effectuer 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 appliqué à cette instance de base de données.
  2. Exécutez les commandes 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, MariaDB et SingleStore:

Exécutez les commandes 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 la création de 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 des droits requis à l'utilisateur looker.

Vous pouvez spécifier le nom de la base de données temporaire dans le champ Base de données temporaire lors de la création de la 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 entièrement nouvelle nommée looker_tmp. Les commandes suivantes utilisent looker_tmp, mais si vous avez spécifié un autre nom de base de données temporaire, utilisez le nom de votre 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 une réplication basée sur GTID, vous devez utiliser le paramètre LookML create_process pour utiliser les PDT, car GTID n'est pas compatible avec les instructions CREATE TABLE AS SELECT.

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

Si vous ne voulez pas autoriser la création de tables dérivées persistantes, vous pouvez toujours utiliser des tables dérivées standards. Pour utiliser des tables dérivées standards, vous devez tout de même ajouter certaines autorisations à un schéma appelé looker_tmp. Toutefois, 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, pour éviter les erreurs "SQLException: Le paquet pour la 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. Pour créer la connexion entre Looker et votre base de données, procédez comme suit:

  1. Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
  2. Dans le menu déroulant Dialecte, sélectionnez le nom du dialecte de votre base de données: MySQL, MySQL 8.0.12+, MariaDB, SingleStore ou SingleStore 7+.

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

  4. Pour vérifier que la connexion est établie, cliquez sur Tester. Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.

  5. 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 24.8:

Sélection 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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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 24.8:

Sélection 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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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

MariaDB prend en charge les fonctionnalités suivantes à partir de Looker 24.8:

Sélection 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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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 prend en charge les fonctionnalités suivantes à partir de Looker 24.8:

Sélection 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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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 7+ prend en charge les fonctionnalités suivantes à partir de Looker 24.8:

Sélection 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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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