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_native_password プラグインを使用するように MySQL データベースを構成します。これは複数の方法で実行できます。どの方法を使用するかは、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 ベースのレプリケーションを使用している場合、PDT を使用するには create_process LookML パラメータを使用する必要があります。これは、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 では、「SQLException: Packet for query is too large」エラーを防ぐために、MySQL max_allowed_packet 変数を最大値(1073741824)に設定します。

データベースへの Looker 接続の作成

データベースの構成が完了したら、Lookerからデータベースに接続できます。Looker からデータベースへの接続を作成する手順は次のとおりです。

  1. Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
  2. [言語] プルダウン メニューから、データベース言語名(MySQLMySQL 8.0.12 以降MariaDBSingleStoreSingleStore 7 以降)を選択します。

  3. 接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。

  4. 接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。

  5. これらの設定を保存するには、[接続] をクリックします。

機能のサポート

一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。

MySQL は、Looker 24.16 の時点で、次の機能をサポートしています。

機能 サポート対象
サポート レベル
サポート対象
Looker(Google Cloud コア)
いいえ
対称集計
はい
派生テーブル
はい
永続的な SQL 派生テーブル
はい
永続的なネイティブ派生テーブル
はい
安定したビュー
はい
クエリの強制終了
はい
SQL ベースのピボット
はい
タイムゾーン
はい
SSL
はい
Subtotals
はい
JDBC の追加パラメータ
はい
大文字と小文字を区別
いいえ
ロケーション タイプ
はい
リストのタイプ
はい
パーセンタイル
はい
個別のパーセンタイル
はい
SQL Runner の表示プロセス
はい
SQL Runner の説明テーブル
はい
SQL Runner 表示インデックス
はい
SQL Runner Select 10
はい
SQL ランナーの数
はい
SQL の説明
はい
Oauth 認証情報
いいえ
コンテキスト コメント
はい
接続プーリング
いいえ
HLL スケッチ
いいえ
集計認識
はい
増分PDT
はい
ミリ秒
はい
マイクロ秒
はい
マテリアライズド ビュー
いいえ
Approximate Count Distinct
いいえ

MySQL 8.0.12 以降では、Looker 24.16 の時点で、次の機能をサポートしています。

機能 サポート対象
サポート レベル
サポート対象
Looker(Google Cloud コア)
はい
対称集計
はい
派生テーブル
はい
永続的な SQL 派生テーブル
はい
永続的なネイティブ派生テーブル
はい
安定したビュー
はい
クエリの強制終了
はい
SQL ベースのピボット
はい
タイムゾーン
はい
SSL
はい
Subtotals
はい
JDBC の追加パラメータ
はい
大文字と小文字を区別
いいえ
ロケーション タイプ
はい
リストのタイプ
はい
パーセンタイル
はい
個別のパーセンタイル
はい
SQL Runner の表示プロセス
はい
SQL Runner の説明テーブル
はい
SQL Runner 表示インデックス
はい
SQL Runner Select 10
はい
SQL ランナーの数
はい
SQL の説明
はい
Oauth 認証情報
いいえ
コンテキスト コメント
はい
接続プーリング
いいえ
HLL スケッチ
いいえ
集計認識
はい
増分PDT
はい
ミリ秒
はい
マイクロ秒
はい
マテリアライズド ビュー
いいえ
Approximate Count Distinct
いいえ

MariaDB は、Looker 24.16 の時点で、次の機能をサポートしています。

機能 サポート対象
サポート レベル
サポート対象
Looker(Google Cloud コア)
はい
対称集計
はい
派生テーブル
はい
永続的な SQL 派生テーブル
はい
永続的なネイティブ派生テーブル
はい
安定したビュー
はい
クエリの強制終了
はい
SQL ベースのピボット
いいえ
タイムゾーン
はい
SSL
はい
Subtotals
はい
JDBC の追加パラメータ
はい
大文字と小文字を区別
いいえ
ロケーション タイプ
はい
リストのタイプ
はい
パーセンタイル
はい
個別のパーセンタイル
はい
SQL Runner の表示プロセス
はい
SQL Runner の説明テーブル
はい
SQL Runner 表示インデックス
はい
SQL Runner Select 10
はい
SQL ランナーの数
はい
SQL の説明
はい
Oauth 認証情報
いいえ
コンテキスト コメント
はい
接続プーリング
いいえ
HLL スケッチ
いいえ
集計認識
はい
増分PDT
いいえ
ミリ秒
はい
マイクロ秒
はい
マテリアライズド ビュー
いいえ
Approximate Count Distinct
いいえ

SingleStore では、Looker 24.16 の時点で、次の機能をサポートしています。

機能 サポート対象
サポート レベル
サポート対象
Looker(Google Cloud コア)
いいえ
対称集計
はい
派生テーブル
はい
永続的な SQL 派生テーブル
はい
永続的なネイティブ派生テーブル
はい
安定したビュー
はい
クエリの強制終了
はい
SQL ベースのピボット
はい
タイムゾーン
はい
SSL
はい
Subtotals
はい
JDBC の追加パラメータ
はい
大文字と小文字を区別
いいえ
ロケーション タイプ
はい
リストのタイプ
はい
パーセンタイル
いいえ
個別のパーセンタイル
いいえ
SQL Runner の表示プロセス
はい
SQL Runner の説明テーブル
はい
SQL Runner 表示インデックス
はい
SQL Runner Select 10
はい
SQL ランナーの数
はい
SQL の説明
はい
Oauth 認証情報
いいえ
コンテキスト コメント
はい
接続プーリング
いいえ
HLL スケッチ
いいえ
集計認識
はい
増分PDT
いいえ
ミリ秒
はい
マイクロ秒
はい
マテリアライズド ビュー
いいえ
Approximate Count Distinct
いいえ

SingleStore 7 以降では、Looker 24.16 の時点で、次の機能をサポートしています。

機能 サポート対象
サポート レベル
サポート対象
Looker(Google Cloud コア)
はい
対称集計
はい
派生テーブル
はい
永続的な SQL 派生テーブル
はい
永続的なネイティブ派生テーブル
はい
安定したビュー
はい
クエリの強制終了
はい
SQL ベースのピボット
はい
タイムゾーン
はい
SSL
はい
Subtotals
はい
JDBC の追加パラメータ
はい
大文字と小文字を区別
いいえ
ロケーション タイプ
はい
リストのタイプ
はい
パーセンタイル
はい
個別のパーセンタイル
いいえ
SQL Runner の表示プロセス
はい
SQL Runner の説明テーブル
はい
SQL Runner 表示インデックス
はい
SQL Runner Select 10
はい
SQL ランナーの数
はい
SQL の説明
はい
Oauth 認証情報
いいえ
コンテキスト コメント
はい
接続プーリング
いいえ
HLL スケッチ
いいえ
集計認識
はい
増分PDT
いいえ
ミリ秒
はい
マイクロ秒
はい
マテリアライズド ビュー
いいえ
Approximate Count Distinct
いいえ