MySQL, MariaDB y SingleStore

Dialectos que usan estas instrucciones

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

Cifrar el tráfico de red

Te recomendamos que cifres el tráfico de red entre la aplicación Looker y tu base de datos. Considera una de las opciones descritas en la página de documentación Habilitar el acceso seguro a la base de datos.

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

Usuarios y seguridad

Para crear y conceder el acceso necesario 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 bases de datos 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 MySQL para que use el complemento mysql_native_password. Esto se puede hacer de varias formas, en función de cómo se haya implementado tu base de datos MySQL 8 y del tipo de acceso que tengas a la configuración:

    • Inicia el proceso con la marca --default-auth=mysql_native_password

    • Define 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 en AWS RDS, define el parámetro default_authentication_plugin mediante un grupo de parámetros de RDS que se aplique a esta instancia de base de datos.
  2. Ejecuta los siguientes comandos y sustituye 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 sustituye 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 de las tablas derivadas persistentes

Estos dialectos de bases de datos admiten la creación de tablas derivadas persistentes (PDTs). Esta función puede ser muy útil, por lo que te recomendamos que la habilites siempre que sea posible.

Para habilitar las PDTs, debes configurar un esquema temporal. Los siguientes comandos muestran un ejemplo de cómo crear una base de datos temporal y conceder los privilegios necesarios al usuario looker.

Puedes especificar el nombre de la base de datos temporal en el campo Base de datos temporal al crear la conexión de la base de datos. Si no especificas un nombre para la base de datos temporal, Looker genera una base de datos temporal llamada looker_tmp. Los siguientes comandos usan looker_tmp, pero si has especificado otro nombre para la base de datos temporal, úsalo 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 de LookML create_process para usar PDTs, ya que GTID no admite instrucciones CREATE TABLE AS SELECT.

Configuración alternativa para tablas derivadas normales

Si no quieres permitir la creación de tablas derivadas persistentes, puedes usar tablas derivadas normales. Para usar tablas derivadas normales, debes añadir ciertos permisos a un esquema llamado looker_tmp. Sin embargo, el esquema looker_tmp no tiene por qué 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

Definir la variable max_allowed_packet

En MySQL, asigna a la variable max_allowed_packet de MySQL su valor máximo, 1073741824, para evitar errores del tipo "SQLException: Packet for query is too large" (SQLException: el paquete de la consulta es demasiado grande).

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

Una vez que hayas completado la configuración de la base de datos, podrás 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 Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.
  2. En el menú desplegable Dialecto, selecciona el nombre del dialecto de tu base de datos: MySQL, MySQL 8.0.12+, MariaDB, SingleStore o SingleStore 7+.

  3. Rellena los detalles de la conexión. La mayoría de los ajustes son comunes a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conectar Looker a tu base de datos para obtener información.

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

  5. Para guardar estos ajustes, haz clic en Conectar.

Funciones admitidas

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

MySQL admite las siguientes funciones a partir de Looker 25.14:

Función ¿Es compatible?
Nivel de asistencia
Compatible
Looker (servicio principal de Google Cloud)
No
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas nativas persistentes
Vistas estables
Eliminación de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Recuento de SQL Runner
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Grupo de conexiones
No
Esquemas HLL
No
Notoriedad agregada
PDTs incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Métricas de comparación con el periodo anterior
No
Recuento aproximado de valores distintos
No

MySQL 8.0.12 y versiones posteriores admiten las siguientes funciones a partir de Looker 25.14:

Función ¿Es compatible?
Nivel de asistencia
Compatible
Looker (servicio principal de Google Cloud)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas nativas persistentes
Vistas estables
Eliminación de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Recuento de SQL Runner
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Grupo de conexiones
No
Esquemas HLL
No
Notoriedad agregada
PDTs incrementales
Milisegundos
Microsegundos
Vistas materializadas
No
Métricas de comparación con el periodo anterior
Recuento aproximado de valores distintos
No

MariaDB admite las siguientes funciones a partir de Looker 25.14:

Función ¿Es compatible?
Nivel de asistencia
Compatible
Looker (servicio principal de Google Cloud)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas nativas persistentes
Vistas estables
Eliminación de consultas
Pivotes basados en SQL
No
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Recuento de SQL Runner
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Grupo de conexiones
No
Esquemas HLL
No
Notoriedad agregada
PDTs incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Métricas de comparación con el periodo anterior
No
Recuento aproximado de valores distintos
No

SingleStore admite las siguientes funciones a partir de Looker 25.14:

Función ¿Es compatible?
Nivel de asistencia
Compatible
Looker (servicio principal de Google Cloud)
No
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas nativas persistentes
Vistas estables
Eliminación de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
No
Percentil de valores distintos
No
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Recuento de SQL Runner
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Grupo de conexiones
No
Esquemas HLL
No
Notoriedad agregada
PDTs incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Métricas de comparación con el periodo anterior
No
Recuento aproximado de valores distintos
No

SingleStore 7+ admite las siguientes funciones a partir de Looker 25.14:

Función ¿Es compatible?
Nivel de asistencia
Compatible
Looker (servicio principal de Google Cloud)
Agregados simétricos
Tablas derivadas
Tablas derivadas de SQL persistentes
Tablas derivadas nativas persistentes
Vistas estables
Eliminación de consultas
Pivotes basados en SQL
Zonas horarias
SSL
Subtotales
Parámetros adicionales de JDBC
Distingue entre mayúsculas y minúsculas
No
Tipo de ubicación
Tipo de lista
Percentil
Percentil de valores distintos
No
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
Recuento de SQL Runner
Explicación de SQL
Credenciales de OAuth 2.0
No
Comentarios contextuales
Grupo de conexiones
No
Esquemas HLL
No
Notoriedad agregada
PDTs incrementales
No
Milisegundos
Microsegundos
Vistas materializadas
No
Métricas de comparación con el periodo anterior
No
Recuento aproximado de valores distintos
No