MySQL コネクタを使用すると、MySQL データベースをデータポータルに接続できます。データベース テーブルまたはカスタムクエリを使用して、インタラクティブなレポートとダッシュボードを作成します。これらのインサイトは、データベースに直接アクセスできない関係者やチームメンバーと共有できます。
サポート対象のバージョン
データポータルの動作検証は、次の MySQL バージョンで実施されています。
- 5.6
- 5.7
- 8.0
サポートされているバージョンの使用で問題が発生した場合は、データポータル コミュニティでお知らせください。Issue Tracker で機能リクエストを追加したり、投票したりすることもできます。
MySQL に接続する方法
データポータルのデータソースは、1 つの MySQL データベース テーブル、または指定したカスタムクエリに接続できます。
MySQL データベースに接続する手順は次のとおりです。
- データポータルにログインします。
- データポータルのホームページで、 [作成] をクリックして、 [データソース] を選択します。
- [MySQL] コネクタを選択します。
- 接続オプションのいずれかを使って、データベースへのアクセス権を設定します。
- [AUTHENTICATE] をクリックします。そのデータベース内のテーブルのリストが表示されます。
- リストからテーブルを選択するか、カスタムクエリを入力します。
- [接続] をクリックします。
これで、指定したテーブルのすべての列をレポートの中でフィールドとして使えるようになります。
接続オプション
ホスト名または IP アドレスを使用して接続する
接続で [基本] を選択します。接続の詳細を入力します。
- ホスト名または IP アドレス
- ポート(省略可)
- データベース
- ユーザー名
- パスワード
JDBC URL を使用して接続する
接続で [JDBC URL] を選択します。接続の詳細を入力します。
- JDBC URL
例
jdbc:mysql://HOSTNAME[:PORT];databaseName=DATABASE
- ユーザー名
- パスワード
IPv6 リテラル アドレスを使用して接続するには、アドレスを角かっこで囲みます 次に例を示します。
jdbc:mysql://[2001:db8:1:1:1:1:1:1]/your_db
SSL を使用して接続する
データポータルでは、TLS(Transport Layer Security)プロトコル(TLS 1.2)を使用して、サーバーへの接続を保護(暗号化)できます。TLS は SSL(セキュア ソケット レイヤ)とも呼ばれます。
保護された接続を使用するには、[SSL を有効にする] を選択して、SSL 設定ファイルを指定します。
データポータルでは SSL の使用は必須ではありませんが、データベース構成によっては必要になる場合があります。詳細については、データベース ベンダーにお問い合わせください。
クライアント認証を使用して接続する
[クライアント認証を有効にする] チェックボックスをオンにすると、データベースにアクセスする際に、必要に応じてクライアントの秘密鍵とクライアント証明書をアップロードできます。
データポータルではクライアント認証の使用は必須ではありませんが、データベース構成によっては必要になる場合があります。詳細については、データベース ベンダーにお問い合わせください。
カスタムクエリ
1 つの表に接続する代わりに、SQL クエリを指定するには [カスタムクエリ] オプションを選択します。データポータルでは、データベースに対するクエリが生成されると、このカスタム SQL を内部 SELECT ステートメントとして使用します。
カスタム SQL クエリには、1 つのステートメントのみを含めることがます。たとえば以下は、複数の SQL ステートメントが含まれるため機能しません 。
DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;
SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;
データポータルのクエリは 3 ~ 5 分後にタイムアウトする場合があります。カスタムクエリがタイムアウトした場合は、次の方法で問題を解決してみてください。
- 実行速度を上げるために、クエリを簡素化します。
- データベースでクエリを実行し、結果を別のテーブルに保存してからデータソース内の新しいテーブルに接続します。
サポートされるデータタイプ
データポータルは、データベースの組み込みデータタイプを、統合されたデータタイプ一式にマッピングします。データポータルがサポートされていない表やクエリで列を検出すると、その列についてはフィールドが作成されません。ファイアウォールとデータベースへのアクセス
データポータルがファイアウォールの内側にあるデータベースに接続してクエリを実行できるようにするには、次のいずれかの IP アドレスへのアクセスを可能にする必要があります。 また、これらのアドレスからのトラフィックを受け入れるようにデータベースを設定する必要があります。詳しい手順については、該当するデータベースの各ドキュメントをご覧ください。
IP アドレス
次のアドレスは、データポータルのグローバル インフラストラクチャ用に予約されています。
142.251.74.0/232001:4860:4807::/48(省略可、IPv6 をサポートするプラットフォームの場合)
データポータル Pro サブスクリプションでデータ所在地を有効にしている場合は、代わりに次のアドレスを使用してください。
142.251.56.0/242001:4860:4815::/48(省略可、IPv6 をサポートするプラットフォームの場合)
MySQL コネクタに関する制限事項
- データポータルのデータソースは、MySQL データベースのテーブルを 1 つ選んで接続できます。
- データポータル MySQL コネクタは Google Cloud SQL for MySQL を基にしており、バージョンとサポートされる機能には同じ制限が適用されます。詳しくは、Google Cloud SQL for MySQL をご覧ください。
- データポータルでは、MySQL の空間データの拡張はサポートされていません。
- このコネクタを使用すると、1 クエリあたり最大 15 万行のクエリを実行できます。この上限値を超えたデータは切り捨てられます。
- 列見出し(フィールド名)には ASCII 文字のみを使用する必要があります。ASCII 以外の文字はサポートされていません。
トラブルシューティング
一般的なエラー メッセージとその解決方法については、データポータルのトラブルシューティング ガイドをご覧ください。