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:
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.
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 utilisentlooker_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 delooker_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 |