MySQL 適用的 Amazon RDS

加密網路流量

最佳做法是加密 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 陳述式。舉例來說,您可能會在用於業務報表的讀取副本中新增資料庫索引,但不會在對應的來源資料庫執行個體中新增相同索引。

您可以設定 MySQL 適用的 Amazon RDS,允許對唯讀副本執行 DDL SQL 陳述式。如要為特定唯讀副本啟用讀取以外的作業,請修改唯讀副本的有效 DB 參數群組,將 read_only 參數設為 0

Amazon RDS for PostgreSQL 目前不支援對唯讀副本執行 DDL SQL 陳述式。

如果變更 DB 參數群組,您需要重新啟動唯讀副本,變更才會生效。

建立資料庫並授予權限

建立臨時資料庫,並授予 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

在「Create Read Replica DB Instance」(建立唯讀備用資源資料庫執行個體) 彈出式視窗中,設定唯讀備用資源資料庫,然後選取「Yes, Create Read Replica」(是,建立唯讀備用資源)

步驟 4

等待建立唯讀副本資料庫時,您可以設定資料庫參數群組,其中會包含套用至唯讀副本資料庫執行個體的引擎設定值。在側欄中選取「資料庫參數群組」頁面,然後選取「建立資料庫參數群組」按鈕。

步驟 5

選取「資料庫參數群組系列」和「資料庫參數群組名稱」,然後輸入「資料庫參數群組說明」。然後選取「是,建立」

步驟 6

在包含唯讀備用資料庫參數群組的資料列上選取放大鏡圖示,選取該資料列並選取「編輯參數」

步驟 7

在「Parameters」(參數) 下方的「Filters」(篩選器) 欄位中,搜尋「read_only」。將參數值變更為 0。然後選取「儲存變更」

步驟 8

唯讀備用資源建立完成後,請從資料庫執行個體清單中選取該資源,然後選取「執行個體動作」按鈕,並在執行個體動作中選取「修改」

步驟 9

在「Modify DB Instance」(修改資料庫執行個體) 快顯視窗中,將資料庫執行個體「Parameter Group」(參數群組) 變更為新的唯讀副本參數群組。然後勾選「立即套用」方塊,選取「繼續」,然後選取「修改資料庫執行個體」

步驟 10

使用 MySQL 用戶端以 looker 身分連線至唯讀副本資料庫執行個體,並測試是否可存取資料。

建立 Looker 資料庫連線

在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」

填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。

如要確認連線是否成功,請按一下「測試」。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。

如要儲存這些設定,請按一下「連線」

功能支援

如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。

自 Looker 25.10 起,MySQL 支援下列功能:

功能 是否支援?
支援級別
支援
Looker (Google Cloud Core)
對稱式匯總函式
衍生資料表
永久 SQL 衍生資料表
永久原生衍生資料表
穩定版檢視畫面
終止查詢
以 SQL 為基礎的樞紐
時區
SSL
小計
JDBC 其他參數
區分大小寫
位置類型
名單類型
百分位數
不重複值的百分位數
SQL Runner 顯示程序
SQL Runner 說明資料表
SQL Runner 顯示索引
SQL Runner 選取 10
SQL Runner 計數
SQL 說明
OAuth 2.0 憑證
背景資訊註解
連線集區
HLL 草圖
匯總知名度
增量 PDT
毫秒
微秒
具體化檢視表
與前一段時期相比的指標
不重複值的概略計數