MySQL, Clustrix, MariaDB y SingleStore

Dialectos que usan estas instrucciones

MySQL, Clustrix, MariaDB y SingleStore (anteriormente MemSQL) comparten los requisitos de configuración de la base de datos que se describen en esta página.

Encripta el tráfico de red

Looker recomienda que encripte el tráfico de red entre la aplicación de Looker y su base de datos. Considera una de las opciones descritas en la página de documentación Habilita el acceso seguro a la base de datos.

Si le interesa usar la encriptación SSL, consulte esta página de documentación de MySQL.

Usuarios y seguridad

A fin de crear y otorgar el acceso necesario al usuario de Looker, sigue las instrucciones de la sección adecuada para el dialecto y la versión de tu base de datos:

MySQL 8.0.X:

La opción de dialecto de MySQL 8.0.X de Looker se implementa con la versión del parche 8.0.12+ debido a una baja de MySQL en un orden implícito en la cláusula GROUP BY. Esto afecta a los subtotales de Looker para las versiones de MySQL 8.0.0 a 8.0.11, lo que causa errores de generación de SQL. Looker sugiere actualizar las bases de datos de MySQL 8.0.X a, al menos, 8.0.12 para integrarlas por completo. Sin embargo, seguirán funcionando las versiones anteriores de MySQL, excepto por los subtotales.

En MySQL 8.0.X, el complemento de autenticación predeterminado es caching_sha2_password. Looker usa el complemento mysql_native_password para intentar autenticarse en las bases de datos de MySQL a través del controlador JDBC. Para que esta versión de MySQL funcione correctamente, debes seguir estos pasos adicionales:

  1. Configura la base de datos de MySQL para usar el complemento mysql_native_password. Esto se puede hacer de varias maneras y dependerá de cómo se implemente su base de datos de MySQL 8 y del tipo de acceso que tenga a la configuración:

    • Comienza el proceso con la marca --default-auth=mysql_native_password.

    • Establece la propiedad en el archivo de configuración my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
    • Si tu instancia de base de datos está alojada a través de AWS RDS, configura el parámetro default_authentication_plugin a través de un grupo de parámetros de RDS que se aplique a esta instancia de base de datos.
  2. Ejecuta las siguientes declaraciones y reemplaza some_password_here por una contraseña única y segura:

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

MySQL 5.7.X y versiones anteriores, Clustrix, MariaDB y SingleStore:

Ejecuta las siguientes declaraciones y reemplaza some_password_here por una contraseña única y segura:

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

Configuración del esquema temporal para tablas derivadas persistentes

Estos dialectos de bases de datos admiten la creación de tablas derivadas persistentes (PDT). Esta función puede ser muy útil, por lo que le recomendamos habilitarla cuando sea posible.

Para habilitar las PDT, debe configurar un esquema temporal. En los siguientes comandos, se muestra un ejemplo de cómo crear una base de datos temporal y otorgar los privilegios necesarios al usuario looker.

Puedes especificar el nombre de la base de datos temporal en el campo Base de datos temporal cuando creas la conexión de la base de datos. Si no especificas un nombre de base de datos temporal, Looker genera una base de datos temporal llamada looker_tmp. Los siguientes comandos usan looker_tmp, pero si especificaste un nombre de base de datos temporal diferente, usa el nombre en lugar de looker_tmp.

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

Para SingleStore, o si tu base de datos usa la replicación basada en GTID, debes usar el parámetro LookML create_process para usar PDT, porque GTID no admite sentencias CREATE TABLE AS SELECT.

Configuración alternativa para tablas derivadas regulares

Aunque no quiera permitir la creación de tablas derivadas persistentes, puede usar tablas derivadas normales. Para usar tablas derivadas regulares, debes agregar ciertos permisos a un esquema llamado looker_tmp. Sin embargo, no es necesario que el esquema looker_tmp exista en tu base de datos.

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

Configura la variable max_allowed_packet

Para MySQL, configura la variable max_allowed_packet de MySQL a su valor máximo, 1073741824, a fin de evitar errores “SQLException: Packet for query is too large”.

Crea la conexión de Looker a tu base de datos

Después de completar la configuración de la base de datos, puedes conectarte a la base de datos desde Looker. En la sección Administrador de Looker, seleccione Conexiones y, luego, haga clic en Agregar conexión.

Completa los detalles de la conexión. La mayoría de las opciones de configuración son comunes en la mayoría de los dialectos de las bases de datos. Consulta la página de documentación Conecta Looker a tu base de datos para obtener más información.

Para verificar que la conexión se realice de forma correcta, haz clic en Probar. Consulta la página de documentación sobre cómo probar la conectividad de la base de datos para obtener información sobre la solución de problemas.

Para guardar esta configuración, haz clic en Conectar.

Compatibilidad de características

Para que Looker admita algunas funciones, tu dialecto de base de datos también debe admitirlas.

MySQL es compatible con las siguientes funciones a partir de Looker 23.8:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Asesinato de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
Procesos de Show del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinto del recuento aproximado
No

MySQL 8.0.12+ es compatible con las siguientes funciones a partir de Looker 23.8:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Asesinato de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
Procesos de Show del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Distinto del recuento aproximado
No

A partir de Looker 23.8, Clustrix admite las siguientes funciones:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
No
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
No
Asesinato de consultas
Pivotes basados en SQL
No
Zonas horarias
SSL
Subtotales
No
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
No
Percentil distintivo
No
Procesos de Show del ejecutor de SQL
No
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
No
Milisegundos
No
Microsegundos
No
Vistas materializadas
No
Distinto del recuento aproximado
No

MariaDB es compatible con las siguientes funciones a partir de Looker 23.8:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Asesinato de consultas
Pivotes basados en SQL
No
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
Procesos de Show del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Distinto del recuento aproximado
No

A partir de Looker 23.8, SingleStore es compatible con las siguientes funciones:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
No
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Asesinato de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
No
Percentil distintivo
No
Procesos de Show del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Distinto del recuento aproximado
No

A partir de Looker 23.8, SingleStore 7+ es compatible con las siguientes funciones:

Atributo ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas de SQL persistente
Tablas derivadas persistentes nativas
Vistas estables
Asesinato de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue mayúsculas de minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil distintivo
No
Procesos de Show del ejecutor de SQL
Tabla de descripción del ejecutor de SQL
Índices de SQL Runner Show
Ejecutor de SQL Select 10
Recuento de ejecutores de SQL
Explicación de SQL
Credenciales de OAuth
No
Comentarios de contexto
Agrupación de conexiones
No
Bocetos de HLL
No
Reconocimiento global
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Distinto del recuento aproximado
No