使用这些说明的方言
MySQL、Clustrix、MariaDB 和 SingleStore(以前称为 MemSQL)拥有本页介绍的数据库设置要求。
加密网络流量
Looker 强烈建议对 Looker 应用和数据库之间的网络流量进行加密。请考虑使用启用安全数据库访问文档页面中所述的其中一个选项。
如果您有兴趣使用 SSL 加密,请参阅此 MySQL 文档页面。
用户和安全
要创建并授予 Looker 用户所需的访问权限,请按照适用于您的数据库方言和版本的部分中的说明操作:
MySQL 8.0.X:
由于
GROUP BY
子句中的隐式排序废弃了 MySQL,因此 Looker MySQL 8.0.X 方言选项在补丁版本 8.0.12 及更高版本中实现。这会影响 MySQL 8.0.0 至 8.0.11 版本的 Looker 小计数据,导致 SQL 生成错误。Looker 建议将 MySQL 8.0.X 数据库升级到至少 8.0.12,以便完全集成。但小计之前的 MySQL 版本仍可运行。
在 MySQL 8.0.X 中,默认的身份验证插件为 caching_sha2_password
。Looker 使用 mysql_native_password
插件尝试通过 JDBC 驱动程序向 MySQL 数据库进行身份验证。为了让此版本的 MySQL 正常工作,您必须采取以下额外步骤:
将 MySQL 数据库配置为使用
mysql_native_password
插件。这可通过多种方式完成,具体取决于 MySQL 8 数据库的部署方式以及您对相应配置的访问权限类型:启动带有
--default-auth=mysql_native_password
标志的进程在
my.cnf
配置文件中设置该属性:
[mysqld] default-authentication-plugin=mysql_native_password
- 如果您的数据库实例通过 AWS RDS 托管,则通过应用于此数据库实例的 RDS 参数组设置
default_authentication_plugin
参数。
发出以下语句,并将
some_password_here
替换为唯一的安全密码:
CREATE USER looker IDENTIFIED WITH mysql_native_password BY 'some_password_here';
GRANT SELECT ON database_name.* TO 'looker'@'%';
MySQL 5.7.X 及更早版本、Clustrix、MariaDB 和 SingleStore:
发出以下语句,并将 some_password_here
替换为唯一的安全密码:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('some_password_here');
GRANT SELECT ON database_name.* TO 'looker'@'%';
永久性派生表的临时架构设置
这些数据库方言支持创建永久性派生表 (PDT)。此功能非常实用,我们建议您尽可能启用它。
如需启用 PDT,您需要配置临时架构。以下命令示例展示了如何创建临时数据库并向 looker
用户授予所需权限。
在创建数据库连接时,您可以在临时数据库字段中指定临时数据库的名称。如果您未指定临时数据库名称,Looker 会生成一个名为
looker_tmp
的临时数据库。以下命令使用looker_tmp
,但如果您指定了其他临时数据库名称,请使用临时数据库名称,而不是looker_tmp
。
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
对于 SingleStore,或者您的数据库使用基于 GTID 的复制,您必须使用 create_process
LookML 参数来使用 PDT,因为 GTID 不支持 CREATE TABLE AS SELECT
语句。
常规派生表的备用设置
如果您不想创建永久性派生表,仍然可以使用常规派生表。如需使用常规派生表,您仍然需要向名为 looker_tmp
的架构添加特定权限。不过,您的数据库实际上不需要 looker_tmp
架构!
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
设置 max_allowed_packet
变量
对于 MySQL,请将 MySQL max_allowed_packet
变量设置为最大值 1073741824,以防出现“SQLException:查询的数据包过大”错误。
创建与数据库的 Looker 连接
完成数据库配置后,您可以从 Looker 连接到数据库。在 Looker 的管理部分中,选择连接,然后点击添加连接。
填写连接详情。大多数设置是大多数数据库方言通用的设置。如需了解相关信息,请参阅将 Looker 连接到数据库文档页面。
如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。
要保存这些设置,请点击连接。
功能支持
为了让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
从 Looker 23.8 开始,MySQL 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称聚合 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定版观看次数 | 是 |
查询终止 | 是 |
基于 SQL 的数据透视 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 附加参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner 选择 10 | 是 |
SQL 运行程序计数 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文评论 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
总体认知度 | 是 |
PDT 增幅 | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
唯一计数 | 否 |
从 Looker 23.8 开始,MySQL 8.0.12+ 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称聚合 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定版观看次数 | 是 |
查询终止 | 是 |
基于 SQL 的数据透视 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 附加参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner 选择 10 | 是 |
SQL 运行程序计数 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文评论 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
总体认知度 | 是 |
PDT 增幅 | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
唯一计数 | 否 |
自 Looker 23.8 起,Clustrix 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 否 |
对称聚合 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定版观看次数 | 否 |
查询终止 | 是 |
基于 SQL 的数据透视 | 否 |
时区 | 是 |
SSL | 是 |
小计 | 否 |
JDBC 附加参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 否 |
不同百分位 | 否 |
SQL Runner 显示进程 | 否 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner 选择 10 | 是 |
SQL 运行程序计数 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文评论 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
总体认知度 | 是 |
PDT 增幅 | 否 |
毫秒 | 否 |
微秒 | 否 |
具体化视图 | 否 |
唯一计数 | 否 |
从 Looker 23.8 开始,MariaDB 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称聚合 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定版观看次数 | 是 |
查询终止 | 是 |
基于 SQL 的数据透视 | 否 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 附加参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner 选择 10 | 是 |
SQL 运行程序计数 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文评论 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
总体认知度 | 是 |
PDT 增幅 | 否 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
唯一计数 | 否 |
从 Looker 23.8 开始,SingleStore 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 否 |
对称聚合 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定版观看次数 | 是 |
查询终止 | 是 |
基于 SQL 的数据透视 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 附加参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 否 |
不同百分位 | 否 |
SQL Runner 显示进程 | 是 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner 选择 10 | 是 |
SQL 运行程序计数 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文评论 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
总体认知度 | 是 |
PDT 增幅 | 否 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
唯一计数 | 否 |
从 Looker 23.8 开始,SingleStore 7 及更高版本支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称聚合 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定版观看次数 | 是 |
查询终止 | 是 |
基于 SQL 的数据透视 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 附加参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同百分位 | 否 |
SQL Runner 显示进程 | 是 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner 选择 10 | 是 |
SQL 运行程序计数 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文评论 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
总体认知度 | 是 |
PDT 增幅 | 否 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
唯一计数 | 否 |