これらのインストラクションを使用するダイアレクト
本ページに記載のデータベース設定要件は、MySQL、Clustrix、MariaDB、SingleStore(旧称MemSQL)で共通です。
ネットワークトラフィックの暗号化
Looker では、Looker アプリケーションとデータベース間のネットワーク トラフィックを暗号化することを強く推奨します。安全なデータベース アクセスの有効化に関するドキュメント ページで説明されているオプションのいずれかを検討します。
SSL 暗号化の使用に関心をお持ちの場合は、MySQL のドキュメント ページをご覧ください。
ユーザーとセキュリティ
必要なアクセス権限を作成し、Lookerユーザーに付与するには、お使いのデータベースのダイアレクトとバージョンに該当するセクションの指示に従ってください。
MySQL 8.0.X:
GROUP BY
MySQL 句の暗黙的な並べ替えでは MySQL のサポート終了のため、Looker MySQL 8.0.X 言語オプションはパッチ バージョン 8.0.12 以降で実装されています。これは、MySQL バージョン 8.0.0 ~ 8.0.11 の Looker の小計に影響を与え、SQL の生成エラーが発生します。Looker で完全に統合するには、MySQL 8.0.X データベースを 8.0.12 以降にアップグレードすることをおすすめします。ただし、MySQL の旧バージョンは小計を除いて引き続き使用できます。
MySQL 8.0.X では、デフォルトの認証プラグインは caching_sha2_password
です。Looker では、mysql_native_password
プラグインを使用して、JDBC ドライバを介して MySQL データベースへの認証を試みます。このバージョンの MySQL を正常に機能させるには、次の追加手順を行う必要があります。
mysql_native_password
プラグインを使用するように MySQL データベースを構成します。これを行う方法は複数あり、MySQL 8 データベースのデプロイ方法と、構成に対するアクセス権の種類によって異なります。--default-auth=mysql_native_password
フラグを指定してプロセスを開始します。-
my.cnf
構成ファイルでプロパティを設定します。
```none [mysqld] default-authentication-plugin=mysql_native_password ``` -
データベース インスタンスが AWS RDS でホストされている場合は、このデータベース インスタンスに適用される RDS パラメータ グループを介して
default_authentication_plugin
パラメータを設定します。
-
次のステートメントを発行します。
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以前、Clustrix、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
ユーザーに付与する例を示しています。
データベース接続を作成するときに、[Temp Database] フィールドに一時データベースの名前を指定できます。一時データベース名を指定しない場合は、
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 ベースのレプリケーションを使用している場合、GTID は CREATE TABLE AS SELECT
ステートメントをサポートしていないため、PDT を使用するには LookML パラメータ create_process
を使用する必要があります。
標準派生テーブルの代替設定
永続的な派生テーブルの作成を許可しない場合でも、通常の派生テーブルを使用できます。通常の派生テーブルを使用するには、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: Query for query is too large」というエラーを防止します。
機能のサポート
一部の機能については、Lookerでサポートするには、データベースダイアレクトが同じ機能に対応している必要があります。
Looker の最新リリースでは、MySQL は次の Looker 機能をサポートしています。
Looker の最新リリースでは、MySQL 8.0.12 以降が次の Looker 機能をサポートしています。
Looker の最新リリースでは、Clustrix は次の Looker 機能をサポートしています。
Looker の最新リリースでは、MariaDB は次の Looker 機能をサポートしています。
Looker の最新リリースでは、SingleStore は次の Looker 機能をサポートしています。
Looker の最新リリースでは、SingleStore 7+ で次の Looker 機能がサポートされています。
次のステップ
データベースの構成が完了したら、こちらの手順に沿って Looker からデータベースに接続できます。
接続を作成するときは、正しいデータベース言語名を使用してください。MySQL、Clustrix、MariaDB、SingleStore のデータベース構成手順は同じですが、[Connections] ページの [Dialect] プルダウンから目的の言語を選択してください。詳細については、こちらをご覧ください。