MySQL, MariaDB e SingleStore

Dialetos que usam estas instruções

MySQL, MariaDB e SingleStore (antigo MemSQL) compartilham os requisitos de configuração do banco de dados descritos nesta página.

Como criptografar o tráfego de rede

É uma prática recomendada 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 estiver interessado 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 na seção adequada ao dialeto e à versão do seu banco de dados:

MySQL 8.0.X

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, você precisa seguir estas outras etapas:

  1. 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 do tipo de acesso que você tem à configuração:

    • Inicie o processo com a flag --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 for hospedada pelo AWS RDS, defina o parâmetro default_authentication_plugin com um grupo de parâmetros do RDS aplicado a essa instância.
  2. Execute os comandos abaixo, 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, MariaDB e SingleStore:

Execute os comandos abaixo, 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 de esquema temporário para tabelas derivadas persistentes

Esses dialetos de banco de dados são compatíveis com a criação de tabelas derivadas persistentes (PDTs). Esse recurso pode ser muito útil, e recomendamos ativá-lo sempre que possível.

Para ativar as TDPs, configure 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 vai gerar um banco de dados de rascunho chamado looker_tmp. Os comandos a seguir usam looker_tmp, mas se você especificou um nome de banco de dados temporário diferente, use o nome do banco de dados temporário em vez 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 ou caso seu banco de dados use 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 persistentes, ainda é possível usar tabelas derivadas regulares. Para usar tabelas derivadas comuns, ainda é necessário 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

Para o MySQL, defina a variável max_allowed_packet do MySQL com o valor máximo, 1073741824, para evitar erros "SQLException: Packet for query is too Large".

Como criar a conexão do Looker com seu banco de dados

Depois de concluir a configuração do banco de dados, você pode se conectar ao banco de dados usando o Looker. Siga estas etapas para criar a conexão do Looker com seu banco de dados:

  1. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
  2. No menu suspenso Dialeto, selecione o nome do dialeto do banco de dados: MySQL, MySQL 8.0.12+, MariaDB, SingleStore ou SingleStore 7+.

  3. Preencher os detalhes de conexão. A maioria das configurações é comum à maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao banco de dados para mais informações.

  4. Para verificar se a conexão foi bem-sucedida, clique em Testar. Consulte a página de documentação Como testar a conectividade do banco de dados para informações sobre solução de problemas.

  5. Para salvar essas configurações, clique em Conectar.

Suporte a recursos

Para que o Looker ofereça suporte a 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 24.10:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
No
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
No
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Processos de exibição do SQL Runner
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No

O MySQL 8.0.12+ oferece suporte aos seguintes recursos a partir do Looker 24.10:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
No
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Processos de exibição do SQL Runner
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No

A partir do Looker 24.10, o MariaDB oferece suporte aos seguintes recursos:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
No
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
No
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Processos de exibição do SQL Runner
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
No
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No

A SingleStore é compatível com os seguintes recursos a partir do Looker 24.10:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
No
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
No
Tipo de local
Sim
Tipo de lista
Sim
Percentil
No
Percentil distinto
No
Processos de exibição do SQL Runner
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
No
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No

O SingleStore 7+ é compatível com os seguintes recursos a partir do Looker 24.10:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
No
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
No
Processos de exibição do SQL Runner
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
No
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
No
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No