Dialetos que usam estas instruções
MySQL, Clustrix, MariaDB e SingleStore (antigo MemSQL) compartilham os requisitos de configuração de banco de dados descritos nesta página.
Como criptografar o tráfego de rede
O Looker recomenda criptografar o tráfego de rede entre o aplicativo Looker e seu banco de dados. Considere uma das opções descritas na página de documentação Como ativar o acesso seguro ao banco de dados.
Se você tiver interesse em usar a criptografia SSL, consulte esta página de documentação do MySQL.
Usuários e segurança
Para criar e conceder o acesso necessário ao usuário do Looker, siga as instruções da seção apropriada para seu dialeto e versão do banco de dados:
MySQL 8.0.X:
A opção de dialeto MySQL 8.0.X do Looker foi implementada com a versão de patch 8.0.12+ devido a uma suspensão de uso do MySQL na classificação implícita na cláusula
GROUP BY
. Isso afeta os subtotais do Looker para MySQL versões 8.0.0 a 8.0.11, causando erros de geração do SQL. O Looker sugere o upgrade de qualquer banco de dados MySQL 8.0.X para pelo menos 8.0.12 para integração completa. No entanto, as versões anteriores do MySQL continuarão funcionando, exceto os subtotais.
No MySQL 8.0.X, o plug-in de autenticação padrão é caching_sha2_password
. O Looker usa o plug-in mysql_native_password
para tentar se autenticar nos bancos de dados do MySQL por meio do driver JDBC. Para que essa versão do MySQL funcione corretamente, siga estas etapas adicionais:
Configure o banco de dados MySQL para usar o plug-in
mysql_native_password
. Isso pode ser feito de várias maneiras e depende de como o banco de dados MySQL 8 é implantado e de qual tipo de acesso você tem à configuração:Inicie o processo com a sinalização
--default-auth=mysql_native_password
.Defina a propriedade no arquivo de configuração
my.cnf
:
[mysqld] default-authentication-plugin=mysql_native_password
- Se a instância do banco de dados estiver hospedada no AWS RDS, defina o parâmetro
default_authentication_plugin
por meio de um grupo de parâmetros do RDS aplicado a essa instância.
Emita as seguintes instruções, substituindo
some_password_here
por uma senha exclusiva e segura:
CREATE USER looker IDENTIFIED WITH mysql_native_password BY 'some_password_here';
GRANT SELECT ON database_name.* TO 'looker'@'%';
MySQL 5.7.X e anteriores, Clustrix, MariaDB e SingleStore:
Emita as seguintes instruções, substituindo some_password_here
por uma senha exclusiva e segura:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('some_password_here');
GRANT SELECT ON database_name.* TO 'looker'@'%';
Configuração do esquema temporário para tabelas derivadas permanentes
Esses dialetos de banco de dados são compatíveis com a criação de tabelas derivadas permanentes (PDTs, na sigla em inglês). Esse recurso pode ser muito útil, e recomendamos ativá-lo quando possível.
Para ativar as TDPs, você precisa configurar um esquema temporário. Os comandos a seguir mostram um exemplo de como criar um banco de dados temporário e conceder os privilégios necessários ao usuário looker
.
É possível especificar o nome do banco de dados temporário no campo Banco de dados temporário ao criar sua conexão de banco de dados. Se você não especificar um nome de banco de dados temporário, o Looker gerará um banco de dados de rascunho chamado
looker_tmp
. Os comandos a seguir usamlooker_tmp
, mas se você tiver especificado um nome de banco de dados temporário diferente, use seu nome de banco de dados temporário em vez delooker_tmp
.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Para o SingleStore ou se o banco de dados usa a replicação baseada em GTID, use o parâmetro LookML create_process
para usar PDTs, porque o GTID não é compatível com instruções CREATE TABLE AS SELECT
.
Configuração alternativa para tabelas derivadas regulares
Se você não quiser permitir a criação de tabelas derivadas permanentes, ainda poderá usar tabelas derivadas regulares. Para usar tabelas derivadas regulares, você ainda precisa adicionar determinadas permissões a um esquema chamado looker_tmp
. No entanto, o esquema looker_tmp
não precisa existir no seu banco de dados.
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
Como definir a variável max_allowed_packet
No MySQL, defina a variável max_allowed_packet
do MySQL como o valor máximo, 1073741824, para evitar erros "SQLException: o pacote para consulta é muito grande".
Como criar a conexão do Looker com seu banco de dados
Depois de concluir a configuração do banco de dados, você poderá se conectar ao Looker no Looker. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
Preencher os detalhes de conexão. A maioria das configurações é comum para a maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao seu banco de dados para mais informações.
Para verificar se a conexão foi concluída, clique em Testar. Consulte a página de documentação Como testar a conectividade do banco de dados para ver informações sobre solução de problemas.
Para salvar essas configurações, clique em Conectar.
Suporte a recursos
Para que o Looker seja compatível com alguns recursos, o dialeto do banco de dados também precisa ser compatível com eles.
O MySQL é compatível com os seguintes recursos a partir do Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Sim |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais de JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Sim |
Processos do SQL Runner Show | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Sim |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Sim |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |
O MySQL 8.0.12+ é compatível com os seguintes recursos a partir do Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Sim |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais de JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Sim |
Processos do SQL Runner Show | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Sim |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Sim |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |
O Clustrix é compatível com os seguintes recursos desde o Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Não |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Não |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Não |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Não |
Parâmetros adicionais de JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Não |
Percentil distinto | Não |
Processos do SQL Runner Show | Não |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Sim |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Não |
Milissegundos | Não |
Microssegundos | Não |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |
O MariaDB é compatível com os seguintes recursos a partir do Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Sim |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Não |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais de JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Sim |
Processos do SQL Runner Show | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Sim |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |
O SingleStore é compatível com os seguintes recursos desde o Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Não |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais de JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Não |
Percentil distinto | Não |
Processos do SQL Runner Show | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Sim |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |
O SingleStore 7 ou superior é compatível com os seguintes recursos a partir do Looker 23.8:
Recurso | Compatível? |
---|---|
Nível do suporte | Compatível |
Looker (Google Cloud Core) | Sim |
Agregados simétricos | Sim |
Tabelas derivadas | Sim |
Tabelas derivadas do SQL permanente | Sim |
Tabelas derivadas nativas nativas | Sim |
Visualizações estáveis | Sim |
Eliminação de consultas | Sim |
Tabelas dinâmicas baseadas em SQL | Sim |
Fusos horários | Sim |
SSL | Sim |
Subtotais | Sim |
Parâmetros adicionais de JDBC | Sim |
Diferenciar maiúsculas e minúsculas | Não |
Tipo de local | Sim |
Tipo de lista | Sim |
Percentil | Sim |
Percentil distinto | Não |
Processos do SQL Runner Show | Sim |
Tabela de descrição do SQL Runner | Sim |
Índices do SQL Runner Show | Sim |
SQL Runner Select 10 | Sim |
Contagem de executores do SQL | Sim |
Explicação do SQL | Sim |
Credenciais do OAuth | Não |
Comentários de contexto | Sim |
Pool de conexão | Não |
HLL Sketches | Não |
Reconhecimento agregado | Sim |
PDTs incrementais | Não |
Milissegundos | Sim |
Microssegundos | Sim |
Visualizações materializadas | Não |
Contagem aproximada diferente | Não |