MySQL、MariaDB 和 SingleStore

使用这些说明的方言

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 正常运行, 您必须执行以下额外步骤:

  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 及更低版本、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”(SQL 错误:查询数据包太大)错误。

正在创建与数据库的 Looker 连接

完成数据库配置后,您可以从 Looker 连接到数据库。请按照以下步骤创建 Looker 与数据库之间的连接:

  1. 在 Looker 的管理部分中,选择连接,然后点击添加连接
  2. 方言下拉菜单中,选择您的数据库方言名称:MySQLMySQL 8.0.12+MariaDBSingleStoreSingleStore 7+

  3. 填写连接详情。大多数设置对于大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。

  4. 如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。

  5. 要保存这些设置,请点击连接

功能支持

要让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。

从 Looker 24.18 开始,MySQL 支持以下功能:

特征 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的转换
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
列表类型
百分位
不同值百分位
SQL Runner 显示进程
SQL Runner 中的“Describe Table”命令
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
Oauth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数

从 Looker 24.18 开始,MySQL 8.0.12 及更高版本支持以下功能:

特征 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的转换
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
列表类型
百分位
不同值百分位
SQL Runner 显示进程
SQL Runner 中的“Describe Table”命令
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
Oauth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数

从 Looker 24.18 开始,MariaDB 支持以下功能:

特征 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的数据透视
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
列表类型
百分位
不同值百分位
SQL Runner 显示进程
SQL Runner 中的“Describe Table”命令
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
Oauth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数

从 Looker 24.18 开始,SingleStore 支持以下功能:

特征 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的转换
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 中的“Describe Table”命令
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
Oauth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数

从 Looker 24.18 开始,SingleStore 7 及更高版本支持以下功能:

特征 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的转换
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 中的“Describe Table”命令
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
Oauth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数