Encripta el 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 Habilita el acceso seguro a la base de datos.
Si te interesa usar la encriptación SSL, consulta la documentación de RDS de MySQL.
Opciones
Por motivos de rendimiento, es común usar bases de datos de réplicas de solo lectura, también llamadas réplicas de lectura, con Looker. Esto libera la base de datos de producción para que realice su función principal sin que ninguna consulta pueda ralentizarla.
En este documento, se describe cómo realizar una de las siguientes acciones:
- Modifica una base de datos de réplica existente para que funcione con Looker
- Crear una nueva base de datos de réplica de lectura y configurarla para que funcione con Looker
Modificar una réplica existente
Usuarios y seguridad
Cambia <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'@'%';
RDS y tablas temporales
De forma predeterminada, las réplicas de lectura de RDS tienen habilitada una marca de solo lectura que impide que Looker escriba en tablas temporales. Looker nunca cambia los datos existentes, pero MySQL aún requiere acceso de escritura para usar tablas temporales. Esto se puede solucionar cambiando la marca en RDS. De las Preguntas frecuentes de RDS:
P: ¿Mis réplicas de lectura solo pueden aceptar operaciones de lectura de la base de datos?
Las réplicas de lectura están diseñadas para entregar tráfico de lectura. Sin embargo, puede haber casos de uso en los que los usuarios avanzados deseen completar sentencias de SQL de lenguaje de definición de datos (DDL) en una réplica de lectura. Por ejemplo, se puede agregar un índice de base de datos a una réplica de lectura que se usa para los informes empresariales sin agregar el mismo índice a la instancia de base de datos de origen correspondiente.
Amazon RDS para MySQL se puede configurar para permitir sentencias de SQL de DDL en una réplica de lectura. Si deseas habilitar operaciones que no sean de lectura para una réplica de lectura determinada, modifica el grupo de parámetros de la base de datos activo para la réplica de lectura y establece el parámetro read_only en 0.
Actualmente, Amazon RDS para PostgreSQL no admite la ejecución de sentencias de SQL de DDL en una réplica de lectura.
Si modificas el grupo de parámetros de la base de datos, deberás reiniciar la réplica de lectura para que se apliquen los cambios.
Crea la base de datos y otorga permisos
Crea una base de datos temporal y otorga al usuario looker los derechos para escribir en ella. La sentencia CREATE TEMPORARY en MySQL debe estar asociada con una base de datos para fines de permisos.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Crea una réplica nueva
Ten en cuenta que AWS RDS solo puede crear réplicas de lectura con instancias de base de datos que tengan activada la retención de copias de seguridad.
Pasos previos a AWS
Paso 1
mysql en la base de datos que será la instancia de base de datos principal:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Paso 2
Crea un usuario llamado looker (reemplaza <some_password_here> por una contraseña única y segura):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Paso 3
Crea una base de datos temporal y otorga privilegios de lectura a Looker para otras bases de datos y tablas. Por lo general, Looker no escribe en la base de datos de looker_tmp, sino que la usa para ejecutar comandos de CREATE TEMPORARY TABLE.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
Paso 4
Vacía los privilegios:
FLUSH PRIVILEGES;
Pasos de AWS
Paso 1
Accede y ve al panel de AWS. En la sección Base de datos, selecciona RDS.

Paso 2
En el panel de RDS, selecciona la instancia de base de datos que deseas especificar como la base de datos principal. Selecciona Instance Actions y, luego, Create Read Replica.

Paso 3
En la ventana emergente Create Read Replica DB Instance, configura la base de datos de la réplica de lectura y selecciona Yes, Create Read Replica.

Paso 4
Mientras esperas que se cree la base de datos de la réplica de lectura, puedes configurar el grupo de parámetros de la base de datos, que contendrá los valores de configuración del motor que se aplican a la instancia de la base de datos de la réplica de lectura. Selecciona la página Grupos de parámetros de la base de datos en la barra lateral y, luego, el botón Crear grupo de parámetros de la base de datos.

Paso 5
Selecciona la familia de grupos de parámetros de la base de datos y el nombre del grupo de parámetros de la base de datos, y, luego, ingresa una descripción del grupo de parámetros de la base de datos. Luego, selecciona Sí, crear.
Paso 6
Selecciona el ícono de lupa en la fila que contiene el grupo de parámetros de la base de datos de la réplica de lectura o selecciona esa fila y, luego, Editar parámetros.
Paso 7
En el campo Filtros de Parámetros, busca "read_only". Cambia el valor del parámetro a 0. Luego, selecciona Guardar cambios.
Paso 8
Cuando termine la creación de la réplica de lectura, selecciónala en la lista de instancias de base de datos, selecciona el botón Instance Action y, luego, Modify en la acción de la instancia.
Paso 9
En la ventana emergente Modify DB Instance, cambia el Parameter Group de la instancia de base de datos al nuevo grupo de parámetros de la réplica de lectura. Luego, marca la casilla Apply Immediately, selecciona Continue y, luego, Modify DB Instance.
Paso 10
Con el cliente de MySQL, conéctate a la instancia de la base de datos de la réplica de lectura como looker y prueba si se puede acceder a los datos.
Crea la conexión de Looker a tu base de datos
En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
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 Conecta Looker a tu base de datos para obtener información.
Para verificar que la conexión se haya establecido correctamente, haz clic en el botón Probar conexión en la sección Detalles del estado, en la parte inferior de la página Configuración de la conexión.
Si Looker muestra Can Connect, presiona Connect para crear la conexión.
Luego, la conexión de tu base de datos se agrega a la lista de la página Conexiones de Administrador de Looker.
Parámetros de JDBC admitidos
En el caso de Amazon RDS para MySQL, Looker admite los siguientes parámetros de JDBC en el campo Parámetros de JDBC adicionales de la conexión. Consulta la documentación de tu base de datos para obtener información sobre estos parámetros.
allowMultiQueriesautocommitcharacterSetResultsclientCertificateKeyStorePasswordclientCertificateKeyStoreUrlconnectionAttributesconnectionCollationconnectionTimeZoneconnectTimeoutdefaultAuthenticationPlugindisableSslHostnameVerificationdisconnectOnExpiredPasswordsenabledSslCipherSuitesfailOverReadOnlyfallbackToSystemTrustStoreforceConnectionTimeZoneToSessioninteractiveClientlookerFailovermaxIdleTimemaxQuerySizeToLogoldModeNoPrecisionTimestamppasswordpasswordCharacterEncodingpermitMysqlSchemepinGlobalTxToPhysicalConnectionpreserveInstantsqueryInterceptorsrestrictedAuthrewriteBatchedStatementssocketTimeoutsslModetcpKeepAlivetrustCertificateKeyStorePasswordtrustCertificateKeyStoreUrluseCompressionusePipelineAuthuseruseServerPrepStmtsverifyServerCertificateyearIsDateType
Compatibilidad de funciones
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 26.22:
| Función | ¿Es compatible? |
|---|---|
| Looker (Google Cloud Core) | |
| Agregaciones simétricas | |
| Tablas derivadas | |
| Tablas derivadas de SQL persistentes | |
| Tablas derivadas persistentes nativas | |
| Vistas estables | |
| Eliminación de consultas | |
| Tablas dinámicas basadas en SQL | |
| Zonas horarias | |
| SSL | |
| Subtotales | |
| Parámetros adicionales de JDBC | |
| Distingue mayúsculas de minúsculas | |
| Tipo de ubicación | |
| Tipo de lista | |
| Percentil | |
| Percentil de valores distintos | |
| Mostrar procesos del Ejecutor de SQL | |
| Describe Table del Ejecutor de SQL | |
| Ejecutor de SQL: Mostrar índices | |
| Seleccionar 10 en el Ejecutor de SQL | |
| Recuento del Ejecutor de SQL | |
| SQL Explain | |
| Credenciales de OAuth 2.0 | |
| Comentarios de contexto | |
| Agrupación de conexiones | |
| Esbozos de HLL | |
| Reconocimiento agregado | |
| PDT incrementales | |
| Milisegundos | |
| Microsegundos | |
| Vistas materializadas | |
| Mediciones entre períodos | |
| Distinción de recuento aproximado | |
| Modelos analíticos en la base de datos | |
| Calendarios personalizados |