对网络流量进行加密
最佳做法是对 Looker 应用和数据库之间的网络流量进行加密。请考虑启用安全的数据库访问文档页面中所述的选项之一。
如果您有兴趣使用 SSL 加密,请参阅 MySQL RDS 文档。
选项
出于性能方面的原因,通常将只读副本数据库(也称为只读副本)与 Looker 搭配使用。这样,生产数据库就可以执行其主要功能,而不会因任何查询而减慢速度。
本文档介绍了如何执行以下任一操作:
- 修改现有的副本数据库,以便与 Looker 配合使用
- 创建新的读取副本数据库,并将其配置为与 Looker 搭配使用
修改现有副本
用户和安全
将 <some_password_here>
更改为具有唯一性的安全密码:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
RDS 和临时表
默认情况下,RDS 读取副本会启用一个只读标志,阻止 Looker 向临时表写入数据。Looker 实际上绝不会更改现有数据,但 MySQL 仍然需要写入权限才能使用临时表。这可以通过更改 RDS 中的标志来解决。如需了解详情,请参阅 RDS 常见问题解答:
问:我的读取副本只能接受数据库读取操作吗?
读取副本旨在处理读取流量。不过,在某些情况下,高级用户可能希望针对读取副本完成数据定义语言 (DDL) SQL 语句。例如,向用于业务报告的只读副本添加数据库索引,但没有向相应的源数据库实例添加同一索引。
Amazon RDS for MySQL 可配置为允许对读取副本使用 DDL SQL 语句。如果您希望为给定读取副本启用除读取以外的操作,请修改读取副本的有效数据库参数组,将 read_only
参数设为 0
。
Amazon RDS for PostgreSQL 目前不支持对读取副本执行 DDL SQL 语句。
如果您更改了数据库参数组,则需要重启读取副本,所做的更改才能生效。
创建数据库并授予权限
创建一个临时数据库,并向 looker
用户授予写入该数据库的权限。为了获得权限,MySQL 中的 CREATE TEMPORARY
语句需要与数据库关联。
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
创建新副本
请注意,AWS RDS 只能使用已启用备份保留期限的数据库实例创建读取副本。
在 AWS 之前执行的步骤
第 1 步
mysql
插入将作为主数据库实例的数据库:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
第 2 步
创建一个名为 looker
的用户(将 <some_password_here>
替换为唯一的安全密码):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
第 3 步
创建一个临时数据库,并向 Looker 授予对其他数据库和表的读取权限。Looker 通常不会写入 looker_tmp
数据库,而是使用它来执行 CREATE TEMPORARY TABLE
命令。
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
第 4 步
清空权限:
FLUSH PRIVILEGES;
AWS 步骤
第 1 步
登录并转到 AWS 信息中心。在数据库部分中,选择 RDS。
第 2 步
在 RDS 信息中心内,选择要指定为主数据库的数据库实例。选择实例操作,然后选择创建读取副本。
第 3 步
在创建读取副本数据库实例弹出式窗口中,配置读取副本数据库,然后选择是,创建读取副本。
第 4 步
在等待读取副本数据库创建完成时,您可以设置数据库参数组,该组将包含应用于读取副本数据库实例的引擎配置值。在边栏中选择数据库参数组页面,然后选择创建数据库参数组按钮。
第 5 步
选择数据库参数组族和数据库参数组名称,然后输入数据库参数组说明。然后选择是,创建。
第 6 步
选择包含读取副本数据库参数组的行上的放大镜图标,或选择该行,然后选择修改参数。
第 7 步
在“参数”下的过滤条件字段中,搜索“read_only”。将参数值更改为 0
。然后选择保存更改。
第 8 步
完成读取副本创建后,从数据库实例列表中选择该副本,选择实例操作按钮,然后在实例操作中选择修改。
第 9 步
在修改数据库实例弹出式窗口中,将数据库实例参数组更改为新的读取副本参数组。然后,选中立即应用复选框,选择继续,然后选择修改数据库实例。
第 10 步
使用 MySQL 客户端,以 looker
身份连接到读取副本数据库实例,并测试数据是否可访问。
正在创建与数据库的 Looker 连接
在 Looker 的管理部分中,选择连接,然后点击添加连接。
填写连接详情。大多数设置对大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。
如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击连接。
功能支持
要让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
从 Looker 24.18 开始,MySQL 支持以下功能:
特征 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 否 |
对称汇总 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定视图 | 是 |
终止查询 | 是 |
基于 SQL 的转换 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 其他参数 | 是 |
区分大小写 | 否 |
位置类型 | 是 |
名单类型 | 是 |
百分位 | 是 |
不同值百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 描述表 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner Select 10 | 是 |
SQL 运行程序数量 | 是 |
SQL 说明 | 是 |
OAuth 凭据 | 否 |
上下文注释 | 是 |
连接池 | 否 |
HLL 素描 | 否 |
汇总认知度 | 是 |
增量 PDT | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
非重复近似计数 | 否 |