MySQL コネクタを使用すると、MySQL データベースをデータポータルに接続できます。データベース テーブルまたはカスタムクエリを使用して、インタラクティブなレポートとダッシュボードを作成します。これらの分析情報は、データベースに直接アクセスできない関係者やチームメンバーと共有できます。
サポート対象のバージョン
データポータルは、次の MySQL バージョンをサポートしています。
- 5.6(廃止)
- 5.7(廃止予定)
- 8.0
- 9.0
サポートされるバージョンの使用で問題が発生した場合は、データポータル コミュニティでお知らせください。Issue Tracker で機能に関するリクエストの追加や投票を行うこともできます。
MySQL に接続する方法
データポータルのデータソースは、1 つの MySQL データベース テーブル、または指定したカスタムクエリに接続できます。
MySQL データベースに接続する手順は次のとおりです。
- データポータルにログインします。
- データポータルのホームページで、[ 作成] をクリックして、[データソース] を選択します。
- MySQL コネクタを選択します。
- 接続オプションのいずれかを使用して、データベースへのアクセス権を構成します。
- [AUTHENTICATE] をクリックします。そのデータベースのテーブルのリストが表示されます。
- リストからテーブルを選択するか、カスタムクエリを入力します。
- [接続] をクリックします。
これで、指定したテーブルのすべての列をレポートの中でフィールドとして使えるようになります。
接続オプション
ホスト名または IP アドレスを使用して接続する
接続で、[BASIC] を選択します。接続の詳細を入力します。
- ホスト名または 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 以外の文字はサポートされていません。
トラブルシューティング
一般的なエラー メッセージとその解決方法については、データポータルのトラブルシューティング ガイドをご覧ください。