加密網路流量
最佳做法是加密 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 常見問題解答:
Q:我的唯讀副本可以只接受資料庫讀取操作嗎?
讀取副本旨在服務讀取流量。但是,在某些使用場景中,進階使用者可能希望針對唯讀副本完成資料定義語言 (DDL) SQL 語句。例如,向用於業務報表的唯讀副本新增資料庫索引,而未向對應的來源資料庫實例新增相同的索引。
可以設定 Amazon RDS for MySQL 以允許對唯讀副本執行 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 控制面板。在 Database 部分中,選取 RDS。

步驟 2
在 RDS 控制面板中,選擇要指定為主資料庫的資料庫執行個體。選擇 實例操作,然後選擇 建立唯讀副本。

步驟 3
在建立唯讀副本資料庫實例彈出窗口,配置唯讀副本資料庫並選擇是的,建立唯讀副本。

步驟 4
在等待唯讀副本資料庫建立期間,您可以設定 DB 參數群組,其中將包含套用於唯讀副本資料庫實例的引擎設定值。在側邊欄中選擇 資料庫參數組 頁面,然後選擇 建立資料庫參數組 按鈕。

步驟 5
選擇 DB 參數組系列 和 DB 參數組名稱,並輸入 DB 參數組描述。然後選擇 是,建立。
步驟 6
選擇包含讀取副本資料庫參數組的行上的放大鏡圖標,或選擇該行,然後選擇編輯參數。
步驟 7
在 Parameters 下的 Filters 欄位中,搜尋「read_only」。將參數值變更為 0。然後選擇 儲存變更。
步驟 8
當只讀副本建立完成後,從資料庫實例清單中選擇它,選擇 實例操作 按鈕,然後在實例操作中選擇 修改。
步驟 9
在修改資料庫實例彈出窗口,更改資料庫實例參數組新增到新的唯讀副本參數組。然後檢查立即申請框,選擇繼續並選擇修改資料庫實例。
步驟 10
使用 MySQL 用戶端,以 looker 身分連接到只讀副本資料庫實例,並測試資料是否可存取。
建立 Looker 資料庫連線
在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。參見將 Looker 連接到您的資料庫文件頁面提供相關資訊。
如要確認連線是否成功,請按一下「連線設定」頁面底部的「狀態詳細資料」區段中的「測試連線」按鈕。
如果 Looker 顯示「可以連線」,請按「連線」建立連線。
資料庫連線隨即會新增至 Looker「連線」管理頁面的清單。
支援的 JDBC 參數
對於 Amazon RDS for MySQL,Looker 支援連線的 附加 JDBC 參數 欄位中的下列 JDBC 參數。如要瞭解這些參數,請參閱資料庫的說明文件。
allowMultiQueriesautocommitcharacterSetResultsclientCertificateKeyStorePasswordclientCertificateKeyStoreUrlconnectionAttributesconnectionCollationconnectionTimeZoneconnectTimeoutdefaultAuthenticationPlugindisableSslHostnameVerificationdisconnectOnExpiredPasswordsenabledSslCipherSuitesfailOverReadOnlyfallbackToSystemTrustStoreforceConnectionTimeZoneToSessioninteractiveClientlookerFailovermaxIdleTimemaxQuerySizeToLogoldModeNoPrecisionTimestamppasswordpasswordCharacterEncodingpermitMysqlSchemepinGlobalTxToPhysicalConnectionpreserveInstantsqueryInterceptorsrestrictedAuthrewriteBatchedStatementssocketTimeoutsslModetcpKeepAlivetrustCertificateKeyStorePasswordtrustCertificateKeyStoreUrluseCompressionusePipelineAuthuseruseServerPrepStmtsverifyServerCertificateyearIsDateType
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
從 Looker 26.16 版本開始,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 | |
| 毫秒 | |
| 微秒 | |
| 具體化檢視表 | |
| 與前一段時期相比的指標 | |
| 不重複值的概略計數 | |
| 資料庫內分析模型 | |
| 自訂日曆 |