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:
- 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:- Iniciar o processo com a sinalização
--default-auth=mysql_native_password
-
Defina a propriedade no arquivo de configuração
my.cnf
:
```none [mysqld] default-authentication-plugin=mysql_native_password ``` -
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.
- Iniciar o processo com a sinalização
-
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 usamlooker_tmp
, mas, se você tiver especificado um nome diferente para o banco de dados temporário, use esse nome 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'@'%';
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.