加密網路流量
最佳做法是加密 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 | 是 |
毫秒 | 是 |
微秒 | 是 |
具體化檢視表 | 否 |
與前一段時期相比的指標 | 否 |
不重複值的概略計數 | 否 |