使用这些说明的方言
MySQL、MariaDB 和 SingleStore(以前称为 MemSQL)共用本页所述的数据库设置要求。
加密网络流量
最佳做法是对 Looker 应用与数据库之间的网络流量进行加密。不妨考虑启用安全的数据库访问文档页面上介绍的选项之一。
如果您有兴趣使用 SSL 加密,请参阅此 MySQL 文档页面。
用户和安全性
如需创建 Looker 用户并授予所需的访问权限,请按照相应数据库方言和版本对应的部分中的说明操作:
MySQL 8.0.X:
在 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 及更早版本、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: Packet for query is too large”错误。
创建 Looker 与数据库的连接
完成数据库配置后,您可以从 Looker 连接到数据库。请按照以下步骤创建从 Looker 到数据库的连接:
- 在 Looker 的管理部分中,选择连接,然后点击添加连接。
在方言下拉菜单中,选择您的数据库方言名称:MySQL、MySQL 8.0.12 及更高版本、MariaDB、SingleStore 或 SingleStore 7 及更高版本。
填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解相关信息,请参阅将 Looker 连接到数据库文档页面。
如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击连接。
功能支持
为了让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
自 Looker 25.18 起,MySQL 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 支持级别 | 支持 |
| Looker (Google Cloud Core) | 否 |
| 对称聚合 | 是 |
| 派生表 | 是 |
| 基于 SQL 的永久性派生表 | 是 |
| 永久性原生派生表 | 是 |
| 稳定视图 | 是 |
| 终止查询 | 是 |
| 基于 SQL 的透视 | 是 |
| 时区 | 是 |
| SSL | 是 |
| 小计 | 是 |
| JDBC 其他参数 | 是 |
| 区分大小写 | 否 |
| 位置类型 | 是 |
| 列表类型 | 是 |
| 百分位 | 是 |
| 不同值百分位 | 是 |
| SQL Runner“显示进程” | 是 |
| SQL Runner“描述表” | 是 |
| SQL Runner 显示索引 | 是 |
| SQL Runner 选择 10 | 是 |
| SQL Runner 计数 | 是 |
| SQL Explain | 是 |
| OAuth 2.0 凭据 | 否 |
| 上下文注释 | 是 |
| 连接池 | 否 |
| HLL 草图 | 否 |
| 汇总认知度 | 是 |
| 增量 PDT | 是 |
| 毫秒 | 是 |
| 微秒 | 是 |
| 具体化视图 | 否 |
| 与前一时间段相比的指标 | 否 |
| 近似计数不同 | 否 |
自 Looker 25.18 起,MySQL 8.0.12 及更高版本支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 支持级别 | 支持 |
| Looker (Google Cloud Core) | 是 |
| 对称聚合 | 是 |
| 派生表 | 是 |
| 基于 SQL 的永久性派生表 | 是 |
| 永久性原生派生表 | 是 |
| 稳定视图 | 是 |
| 终止查询 | 是 |
| 基于 SQL 的透视 | 是 |
| 时区 | 是 |
| SSL | 是 |
| 小计 | 是 |
| JDBC 其他参数 | 是 |
| 区分大小写 | 否 |
| 位置类型 | 是 |
| 列表类型 | 是 |
| 百分位 | 是 |
| 不同值百分位 | 是 |
| SQL Runner“显示进程” | 是 |
| SQL Runner“描述表” | 是 |
| SQL Runner 显示索引 | 是 |
| SQL Runner 选择 10 | 是 |
| SQL Runner 计数 | 是 |
| SQL Explain | 是 |
| OAuth 2.0 凭据 | 否 |
| 上下文注释 | 是 |
| 连接池 | 否 |
| HLL 草图 | 否 |
| 汇总认知度 | 是 |
| 增量 PDT | 是 |
| 毫秒 | 是 |
| 微秒 | 是 |
| 具体化视图 | 否 |
| 与前一时间段相比的指标 | 是 |
| 近似计数不同 | 否 |
自 Looker 25.18 起,MariaDB 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 支持级别 | 支持 |
| Looker (Google Cloud Core) | 是 |
| 对称聚合 | 是 |
| 派生表 | 是 |
| 基于 SQL 的永久性派生表 | 是 |
| 永久性原生派生表 | 是 |
| 稳定视图 | 是 |
| 终止查询 | 是 |
| 基于 SQL 的透视 | 否 |
| 时区 | 是 |
| SSL | 是 |
| 小计 | 是 |
| JDBC 其他参数 | 是 |
| 区分大小写 | 否 |
| 位置类型 | 是 |
| 列表类型 | 是 |
| 百分位 | 是 |
| 不同值百分位 | 是 |
| SQL Runner“显示进程” | 是 |
| SQL Runner“描述表” | 是 |
| SQL Runner 显示索引 | 是 |
| SQL Runner 选择 10 | 是 |
| SQL Runner 计数 | 是 |
| SQL Explain | 是 |
| OAuth 2.0 凭据 | 否 |
| 上下文注释 | 是 |
| 连接池 | 否 |
| HLL 草图 | 否 |
| 汇总认知度 | 是 |
| 增量 PDT | 否 |
| 毫秒 | 是 |
| 微秒 | 是 |
| 具体化视图 | 否 |
| 与前一时间段相比的指标 | 否 |
| 近似计数不同 | 否 |
截至 Looker 25.18,SingleStore 支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 支持级别 | 支持 |
| Looker (Google Cloud Core) | 否 |
| 对称聚合 | 是 |
| 派生表 | 是 |
| 基于 SQL 的永久性派生表 | 是 |
| 永久性原生派生表 | 是 |
| 稳定视图 | 是 |
| 终止查询 | 是 |
| 基于 SQL 的透视 | 是 |
| 时区 | 是 |
| SSL | 是 |
| 小计 | 是 |
| JDBC 其他参数 | 是 |
| 区分大小写 | 否 |
| 位置类型 | 是 |
| 列表类型 | 是 |
| 百分位 | 否 |
| 不同值百分位 | 否 |
| SQL Runner“显示进程” | 是 |
| SQL Runner“描述表” | 是 |
| SQL Runner 显示索引 | 是 |
| SQL Runner 选择 10 | 是 |
| SQL Runner 计数 | 是 |
| SQL Explain | 是 |
| OAuth 2.0 凭据 | 否 |
| 上下文注释 | 是 |
| 连接池 | 否 |
| HLL 草图 | 否 |
| 汇总认知度 | 是 |
| 增量 PDT | 否 |
| 毫秒 | 是 |
| 微秒 | 是 |
| 具体化视图 | 否 |
| 与前一时间段相比的指标 | 否 |
| 近似计数不同 | 否 |
自 Looker 25.18 起,SingleStore 7 及更高版本支持以下功能:
| 功能 | 是否支持? |
|---|---|
| 支持级别 | 支持 |
| Looker (Google Cloud Core) | 是 |
| 对称聚合 | 是 |
| 派生表 | 是 |
| 基于 SQL 的永久性派生表 | 是 |
| 永久性原生派生表 | 是 |
| 稳定视图 | 是 |
| 终止查询 | 是 |
| 基于 SQL 的透视 | 是 |
| 时区 | 是 |
| SSL | 是 |
| 小计 | 是 |
| JDBC 其他参数 | 是 |
| 区分大小写 | 否 |
| 位置类型 | 是 |
| 列表类型 | 是 |
| 百分位 | 是 |
| 不同值百分位 | 否 |
| SQL Runner“显示进程” | 是 |
| SQL Runner“描述表” | 是 |
| SQL Runner 显示索引 | 是 |
| SQL Runner 选择 10 | 是 |
| SQL Runner 计数 | 是 |
| SQL Explain | 是 |
| OAuth 2.0 凭据 | 否 |
| 上下文注释 | 是 |
| 连接池 | 否 |
| HLL 草图 | 否 |
| 汇总认知度 | 是 |
| 增量 PDT | 否 |
| 毫秒 | 是 |
| 微秒 | 是 |
| 具体化视图 | 否 |
| 与前一时间段相比的指标 | 否 |
| 近似计数不同 | 否 |