MySQL、Clustrix、MariaDB 和 SingleStore

使用这些说明的方言

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 正常工作,您必须采取以下额外步骤:

  1. 将 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 参数。
  2. 发出以下语句,并将 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 增幅
毫秒
微秒
具体化视图
唯一计数