MySQL, MariaDB e SingleStore

Dialetos que usam estas instruções

O MySQL, o MariaDB e o SingleStore (anteriormente MemSQL) partilham os requisitos de configuração da base de dados descritos nesta página.

Encriptar o tráfego de rede

É uma prática recomendada encriptar o tráfego de rede entre a aplicação Looker e a sua base de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro à base de dados.

Se tiver interesse em usar a encriptação SSL, consulte esta página da documentação do MySQL.

Utilizadores e segurança

Para criar e conceder o acesso necessário ao utilizador do Looker, siga as instruções na secção adequada ao dialeto e à versão da sua base de dados:

MySQL 8.0.X:

No MySQL 8.0.X, o plug-in de autenticação predefinido é caching_sha2_password. O Looker usa o plug-in mysql_native_password para tentar fazer a autenticação nas bases de dados MySQL através do controlador JDBC. Para que esta versão do MySQL funcione corretamente, tem de seguir os seguintes passos adicionais:

  1. Configure a base de dados do MySQL para usar o plug-in mysql_native_password. Isto pode ser feito de várias formas e depende da forma como a sua base de dados MySQL 8 está implementada e do tipo de acesso que tem à configuração:

    • Inicie o processo com a flag --default-auth=mysql_native_password

    • Defina a propriedade no ficheiro de configuração my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
    • Se a instância da base de dados estiver alojada através do AWS RDS, defina o parâmetro default_authentication_plugin através de um grupo de parâmetros do RDS que seja aplicado a esta instância da base de dados.
  2. Execute os seguintes comandos, substituindo some_password_here por uma palavra-passe segura e exclusiva:

    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 seguintes comandos, substituindo some_password_here por uma palavra-passe segura e exclusiva:

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 persistentes

Estes dialetos de base de dados suportam a criação de tabelas derivadas persistentes (PDTs). Esta funcionalidade pode ser muito útil e recomendamos que a ative sempre que possível.

Para ativar os PDTs, tem de configurar um esquema temporário. Os comandos seguintes mostram um exemplo de criação de uma base de dados temporária e concessão dos privilégios necessários ao utilizador looker.

Pode especificar o nome da base de dados temporária no campo Base de dados temporária quando criar a ligação à base de dados. Se não especificar um nome de base de dados temporária, o Looker gera uma base de dados temporária denominada looker_tmp. Os comandos seguintes usam looker_tmp, mas, se especificou um nome de base de dados temporária diferente, use o nome da base de dados temporária 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 o SingleStore ou se a sua base de dados usar a replicação baseada em GTID, tem de usar o parâmetro create_process LookML para usar PDTs, porque o GTID não suporta declarações CREATE TABLE AS SELECT.

Configuração alternativa para tabelas derivadas normais

Se não quiser permitir a criação de tabelas derivadas persistentes, pode continuar a usar tabelas derivadas normais. Para usar tabelas derivadas normais, continua a ter de adicionar determinadas autorizações a um esquema denominado looker_tmp. No entanto, o esquema looker_tmp não tem de existir na sua base 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

Definir a variável max_allowed_packet

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

Criar a ligação do Looker à sua base de dados

Depois de concluir a configuração da base de dados, pode estabelecer ligação à base de dados a partir do Looker. Siga estes passos para criar a ligação do Looker à sua base de dados:

  1. Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.
  2. No menu pendente Dialeto, selecione o nome do dialeto da base de dados: MySQL, MySQL 8.0.12 ou superior, MariaDB, SingleStore ou SingleStore 7 ou superior.

  3. Preencha os detalhes da ligação. A maioria das definições é comum à maioria dos dialetos de bases de dados. Consulte a página de documentação Associar o Looker à sua base de dados para ver informações.

  4. Para verificar se a associação foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conetividade da base de dados para ver informações de resolução de problemas.

  5. Para guardar estas definições, clique em Associar.

Suporte de funcionalidades

Para que o Looker suporte algumas funcionalidades, o dialeto da base de dados também tem de as suportar.

O MySQL suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Não
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Não
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Sim
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não

O MySQL 8.0.12 e superior suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Sim
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Não
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Sim
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Sim
Contagem distinta aproximada
Não

O MariaDB suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Sim
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Não
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Não
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Sim
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não

O SingleStore suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Não
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Não
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Não
Percentil distinto
Não
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Sim
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não

O SingleStore 7+ suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Sim
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Não
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Não
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Sim
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Não
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não