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 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 autenticar-se nos bancos de dados MySQL pelo driver JDBC. Para que essa versão do MySQL funcione corretamente, faça o seguinte:

  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 usando um grupo de parâmetros do RDS que seja aplicado a essa instância.
  2. Execute os comandos a seguir, 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 versões anteriores, MariaDB e SingleStore:

Execute os comandos a seguir, 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 oferecem suporte à criação de tabelas derivadas persistentes (TDPs). Esse recurso pode ser muito útil, e recomendamos que você o ative sempre que possível.

Para ativar os PDTs, você precisa configurar um esquema temporário. Os comandos a seguir mostram um exemplo de criação de um banco de dados temporário e concessão dos 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 temporário 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 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 persistentes, ainda é possível usar tabelas derivadas regulares. Para usar tabelas derivadas normais, ainda é necessário adicionar algumas 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 MySQL, defina a variável max_allowed_packet do MySQL para o valor máximo, 1073741824, para evitar "SQLException: o pacote para consulta é muito grande" erros.

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 a ele pelo 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 seu 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 Teste de 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 oferecer suporte a eles.

O MySQL é compatível com os seguintes recursos a partir do Looker 24.16:

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Não
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
Pivots baseados em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Não
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
SQL Runner Show Processes
Sim
Tabela de descrição do SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem do SQL Runner
Sim
Explicação do SQL
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexão
Não
Esboços HLL
Não
Agregar reconhecimento
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não

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

Recurso Compatível?
Nível de 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
Pivots baseados em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Não
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
SQL Runner Show Processes
Sim
Tabela de descrição do SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem do SQL Runner
Sim
Explicação do SQL
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexão
Não
Esboços HLL
Não
Agregar reconhecimento
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não

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

Recurso Compatível?
Nível de 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
Não
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Não
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
SQL Runner Show Processes
Sim
Tabela de descrição do SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem do SQL Runner
Sim
Explicação do SQL
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexão
Não
Esboços HLL
Não
Agregar reconhecimento
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não

A SingleStore oferece suporte aos seguintes recursos a partir do Looker 24.16:

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Não
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
Pivots baseados em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do 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 de exibição do SQL Runner
Sim
Tabela de descrição do SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem do SQL Runner
Sim
Explicação do SQL
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexão
Não
Esboços HLL
Não
Agregar reconhecimento
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não

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

Recurso Compatível?
Nível de 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
Pivots baseados em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do 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 de exibição do SQL Runner
Sim
Tabela de descrição do SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem do SQL Runner
Sim
Explicação do SQL
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexão
Não
Esboços HLL
Não
Agregar reconhecimento
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não