MySQL, Clustrix, MariaDB e SingleStore

Dialetos que usam estas instruções

O MySQL, o Clustrix, o MariaDB e o 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 Ativar o acesso seguro a 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 na 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 é 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 SQL. O Looker sugere atualizar todos os bancos de dados MySQL 8.0.X para, no mínimo, 8.0.12, a fim de se integrar totalmente. No entanto, as versões anteriores do MySQL ainda funcionarão, além dos 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 em bancos de dados MySQL usando o driver JDBC. Para que essa versão do MySQL funcione corretamente, siga as etapas abaixo:

  1. Configure o banco de dados MySQL para usar o plug-in mysql_native_password. Isso pode ser feito de várias maneiras e vai depender da forma como o banco de dados MySQL 8 é implantado e de que tipo de acesso você tem à configuração:
    1. Iniciar o processo com a sinalização --default-auth=mysql_native_password
    2. Defina a propriedade no arquivo de configuração my.cnf:
      ```none [mysqld] default-authentication-plugin=mysql_native_password ```
    3. Se a instância de banco de dados estiver hospedada pelo AWS RDS, defina o parâmetro default_authentication_plugin com um grupo de parâmetros do RDS que é aplicado a essa instância do banco de dados.

  2. Emita as instruções 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 anteriores, Clustrix, MariaDB e SingleStore:

Emita as instruções 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 permanentes

Esses dialetos do 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. Recomendamos ativá-lo quando possível.

Para ativar os PDTs, 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 Temp Database ao criar a conexão do 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 raspadinha chamado looker_tmp. Os comandos a seguir usam looker_tmp, mas, se você tiver especificado um nome diferente para o banco de dados temporário, use esse nome 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'@'%';

No caso da 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, use tabelas derivadas regulares. Para usar tabelas derivadas regulares, ainda é preciso 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 com o valor máximo, 1073741824, para evitar erros "SQLException: o pacote para consulta é muito grande"

Suporte a recursos

Para que o Looker ofereça suporte a alguns recursos, seu dialeto do banco de dados também precisa aceitá-los.

Na versão mais recente do Looker, o MySQL é compatível com os seguintes recursos do Looker:

Na versão mais recente do Looker, o MySQL 8.0.12+ é compatível com os seguintes recursos do Looker:

Na versão mais recente do Looker, o Clustrix é compatível com os seguintes recursos do Looker:

Na versão mais recente do Looker, MariaDB é compatível com os seguintes recursos do Looker:

Na versão mais recente do Looker, a SingleStore é compatível com os seguintes recursos do Looker:

Na versão mais recente do Looker, o SingleStore 7+ é compatível com os seguintes recursos do Looker:

Próximas etapas

Depois de concluir a configuração do banco de dados, use estas instruções para se conectar ao banco de dados do Looker.

Ao criar conexões, use o nome correto do dialeto do banco de dados. Embora as instruções de configuração de banco de dados sejam as mesmas para MySQL, Clustrix, MariaDB e SingleStore, escolha o dialeto específico no menu suspenso Dialeto da página "Conexões", que é descrito em seguida.