MySQL, MariaDB y SingleStore

Dialectos que usan estas instrucciones

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

Encriptación del tráfico de red

Se recomienda encriptar el tráfico de red entre la aplicación de Looker y tu base de datos. Considera una de las opciones que se describen en la página de documentación Cómo habilitar el acceso seguro a la base de datos.

Si te interesa usar el encriptado SSL, consulta esta página de documentación de MySQL.

Usuarios y seguridad

Para crear y otorgar el acceso requerido al usuario de Looker, sigue las instrucciones de la sección correspondiente al dialecto y la versión de tu base de datos:

MySQL 8.0.X:

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 que use el complemento mysql_native_password. Esto se puede hacer de varias maneras y dependerá de cómo se implemente tu base de datos de MySQL 8 y del tipo de acceso que tengas a la configuración:

    • Inicia 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 los siguientes comandos 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, MariaDB y SingleStore:

Ejecuta los siguientes comandos 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 te recomendamos que la habilites cuando sea posible.

Para habilitar los PDT, debes 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 crees tu conexión de base de datos. Si no especificas un nombre de base de datos temporal, Looker genera una base de datos de prueba llamada looker_tmp. En los siguientes comandos, se usa looker_tmp, pero, si especificaste un nombre de base de datos temporal diferente, usa tu nombre de base de datos temporal 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'@'%';

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

Configuración alternativa para tablas derivadas regulares

Si no quieres permitir la creación de tablas derivadas persistentes, puedes usar tablas derivadas normales. Para usar tablas derivadas normales, aún debes agregar ciertos permisos a un esquema llamado looker_tmp. Sin embargo, el esquema looker_tmp no necesita existir 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

Cómo configurar la variable max_allowed_packet

En MySQL, establece la variable max_allowed_packet de MySQL en su valor máximo, 1073741824, para evitar errores de "SQLException: Packet for query is too large".

Cómo crear 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 ella desde Looker. Sigue estos pasos para crear la conexión de Looker a tu base de datos:

  1. En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
  2. En el menú desplegable Dialect, selecciona el nombre del dialecto de tu base de datos: MySQL, MySQL 8.0.12+, MariaDB, SingleStore o SingleStore 7+.

  3. Completa los detalles de la conexión. La mayoría de los parámetros de configuración son comunes en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener más información.

  4. Para verificar que la conexión se haya realizado correctamente, haz clic en Probar. Consulta la página de documentación Prueba la conectividad de la base de datos para obtener información sobre la solución de problemas.

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

A partir de Looker 25.10, MySQL admite las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
No
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
No
Esbozos de HLL
No
Conocimiento total
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No

A partir de Looker 25.10, MySQL 8.0.12 y versiones posteriores admiten las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
No
Esbozos de HLL
No
Conocimiento total
PDT incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No

A partir de Looker 25.10, MariaDB admite las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelación de consultas
Tablas dinámicas basadas en SQL
No
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
No
Esbozos de HLL
No
Conocimiento total
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No

A partir de Looker 25.10, SingleStore admite las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
No
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
No
Percentil de valores distintos
No
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
No
Esbozos de HLL
No
Conocimiento total
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No

A partir de Looker 25.10, SingleStore 7 y versiones posteriores admiten las siguientes funciones:

Función ¿Es compatible?
Nivel de asistencia
Admitido
Looker (Google Cloud Core)
Agregaciones simétricas
Tablas derivadas
Tablas derivadas persistentes basadas en SQL
Tablas derivadas persistentes nativas
Vistas estables
Cancelación de consultas
Tablas dinámicas basadas en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distinción entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
No
Ejecutor de SQL: Mostrar procesos
Ejecutor de SQL: Describe la tabla
Ejecutor de SQL: Mostrar índices
Seleccionar 10 en el Ejecutor de SQL
Recuento del Ejecutor de SQL
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Agrupación de conexiones
No
Esbozos de HLL
No
Conocimiento total
PDT incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Medidas de comparación entre períodos
No
Distinción de recuento aproximado
No