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」下拉式選單中,選取資料庫方言名稱:「MySQL」、「MySQL 8.0.12+」、「MariaDB」、「SingleStore」或「SingleStore 7+」

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

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

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

支援的 JDBC 參數

對於 MySQL、MariaDB 和 SingleStore,Looker 支援連線的「其他 JDBC 參數」欄位中的下列 JDBC 參數。如需這些參數的相關資訊,請參閱資料庫的說明文件。

  • allowMultiQueries
  • autocommit
  • characterSetResults
  • clientCertificateKeyStorePassword
  • clientCertificateKeyStoreUrl
  • connectionAttributes
  • connectionCollation
  • connectionTimeZone
  • connectTimeout
  • defaultAuthenticationPlugin
  • disableSslHostnameVerification
  • disconnectOnExpiredPasswords
  • enabledSslCipherSuites
  • failOverReadOnly
  • fallbackToSystemTrustStore
  • forceConnectionTimeZoneToSession
  • interactiveClient
  • lookerFailover
  • maxIdleTime
  • maxQuerySizeToLog
  • oldModeNoPrecisionTimestamp
  • password
  • passwordCharacterEncoding
  • permitMysqlScheme
  • pinGlobalTxToPhysicalConnection
  • preserveInstants
  • queryInterceptors
  • restrictedAuth
  • rewriteBatchedStatements
  • socketTimeout
  • sslMode
  • tcpKeepAlive
  • trustCertificateKeyStorePassword
  • trustCertificateKeyStoreUrl
  • useCompression
  • usePipelineAuth
  • user
  • useServerPrepStmts
  • verifyServerCertificate
  • yearIsDateType

功能支援

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

在 Looker 26.10 中,MySQL 支援下列功能:

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

自 Looker 26.10 起,MySQL 8.0.12 以上版本支援下列功能:

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

自 Looker 26.10 起,MariaDB 支援下列功能:

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

自 Looker 26.10 起,SingleStore 支援下列功能:

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

自 Looker 26.10 起,SingleStore 7 以上版本支援下列功能:

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