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”错误。

创建 Looker 与数据库的连接

完成数据库配置后,您可以从 Looker 连接到数据库。如需创建从 Looker 到数据库的连接,请按以下步骤操作:

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

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

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

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

功能支持

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

从 Looker 24.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 24.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 24.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 24.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 24.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
毫秒
微秒
具体化视图
近似计数不重复