メインコンテンツへスキップ

はじめに

MySQLは、広く使用されているオープンソースのリレーショナルデータベース管理システムです。DomoのMySQL SSH Multi-Statementコネクターを使用すると、MySQLデータベースからデータを引き出し、カスタムレポートを作成できます。取得するデータの指定は、SQLクエリの入力で行います。MySQL APIに関する詳細は、MySQLのウェブサイト( http://dev.mysql.com/doc/refman/5.0/en/c-api.html )を参照してください。 MySQL SSH MultiStatementコネクターは「データベース」コネクターです。つまり、クエリを使ってデータベースからデータを取得します。Data Centerでは、ウィンドウ上部のツールバーで [データベース] をクリックすることで、これを含むほかのデータベースコネクターのページにアクセスできます。 MySQLデータベースには、Data Centerから接続します。このトピックでは、MySQL SSH MultiStatementコネクターユーザーインターフェイスに固有のフィールドとメニューについて説明します。DataSetの追加や更新スケジュールの設定、DataSet情報の編集に関する一般的な情報は、「 コネクターを使用してDataSetを追加する 」を参照してください。

主な使用事例

データマートとデータウェアハウスSQLクエリを取得する

主なメトリクス

該当なし

社内における主なロール

  • CIO

  • CTO

平均導入時間

5~40時間以上

使いやすさ(1~10の段階。1が「最も使いやすい」)

7

ベストプラクティス

  • 結果セットのサイズをできる限り制限します。
  • 列数を最小限に抑えます。

必要条件

MySQLデータベースにSSHサーバー経由で接続してDataSetを作成するには、以下が必要です。
  • SSHトンネルを使用しているUNIXサーバーのホスト名
  • UNIXアカウントのSSHユーザー名とパスワード
  • データベースのホスト名
  • PEM形式のSSH秘密キー(DESまたはRSA)
  • データベース名
  • MySQLデータベースにログインするためのユーザー名とパスワード
注記: Domoはssh-keygenを使用して生成されるSSHキーをサポートしていません。SSHキーは、OpenSSLが生成するDESまたはRSAキー(PEM形式)である必要があります。

MySQLアカウントを作成する

MySQLアカウントは次の2つの方法で作成することができます。
  • アカウントの作成とアカウント権限の設定を行うためのアカウント管理ステートメントを使用する( CREATE USER や GRANT など)。このようなステートメントを使用すると、ベースとなる権限テーブルがサーバーによって更新されます。
  • MySQLの権限テーブルを、 INSERT 、 UPDATE 、 DELETE などのステートメントで直接操作する。
アカウント管理ステートメントを使用する方法を推奨します。権限表を直接操作するのに比べ、より簡潔でまたエラーも発生しにくいためです。 アカウントを作成するための別の方法として、GUIツールのMySQL Workbenchを使用することもできます。また、phpMyAdminなど、いくつかのサードパーティプログラムでもMySQLアカウントを管理することができます。

ホワイトリストに登録する

MySQLデータベースに接続する前に、データベースサーバーの接続ポートでIPアドレスをいくつかホワイトリストに登録する必要があります。IPアドレスの詳細なリストは、「 コネクターのIPアドレスをホワイトリストに登録する 」を参照してください。

MySQLデータベースに接続する

このセクションでは、MySQL SSH Multistatementコネクターページの [認証情報] および [詳細] ペインのオプションについて説明します。このページのほかのペインの項目にある [スケジュール設定][DataSetに名前を付け、説明を入力] については、ほとんどのコネクターで共通しています。詳細については、「 コネクターを使用してDataSetを追加する 」を参照してください。

[認証情報] ペイン

このペインには、データベースに接続するための認証情報の入力フィールドが含まれています。以下の表で、各フィールドについて説明します。

フィールド

説明

SSH Server Hostname

SSHトンネルの接続先であるUNIXサーバーのホスト名を入力します。

SSH Username

UNIXアカウントのSSHユーザー名を入力します。

SSH Password

UNIXアカウントのSSHパスワードを入力します。

Database Hostname

SQLデータベースのホスト名またはIPアドレスを入力します。例: db.company.com

SSH Private Key

SSH秘密キー(DESまたはRSAのいずれか)を入力します。

Database Name

SQLデータベース名、あるいはスキーマ名を入力します。

Database Username

MySQLユーザー名を入力します。

Database Password

MySQLパスワードを入力します。

有効な認証情報を一度入力しておくと、随時同じアカウントを使用して新しいMySQL SSH Multistatement DataSetを作成することができます。コネクターのアカウントは Data Center の [アカウント] タブで管理できます。このタブの詳細については、「 コネクターのユーザーアカウントを管理する 」を参照してください。

[詳細]ペイン

このペインで、SQLクエリを作成してデータベースからデータを取得し、いくつかのオプションを指定します。

メニュー

説明

Query Type

クエリタイプを選択します。

クエリタイプ 説明
Query パラメーターなしの通常SQLクエリ
Query Parameter パラメーターのあるSQLクエリ

Query Parameter

クエリパラメーターの値を入力します。この値は、クエリパラメーターの初期値となります。最終実行日はオプションです。デフォルトでは、最終実行日が指定されていない場合、最終実行日は「02/01/1700」になります。

例: !{lastvalue:_id}!=1,!{lastrundate:start_date}!=02/01/1944

SQL Query

データを選択する時に使用する構造化照会言語(SQL)クエリです。例:

select * from Employee

TINYINT Values Treated as Bit (Boolean) Values? TINYINT値をBoolean値として扱う場合は、 [Yes] を選択します。
Keep Connection Alive For Large Queries 追加のスレッドを実行して接続を維持します。長時間の実行に便利です。
Query Timeout コネクターのタイムアウト値を分単位で入力します。
Remove Duplicate Records (Connector Update Mode is MERGE) コネクターがMerge/Upsert機能を使用しており、最新のデータのみが更新されている場合、このボックスをチェックして重複レコードを削除します。重複は、最新の行を保持するSQLiteクエリを使用して削除されます。
このボックスをチェックすると、コネクターの実行が遅くなります。この機能は必要な場合にのみ使用してください。

その他のペイン

スケジュール設定、再試行、更新に関するオプションなど、コネクターインターフェースのその他のペインに表示されるオプションについては、「 コネクターを使用してDataSetを追加する 」を参照してください。

トラブルシューティング

  • MySQL Workbenchを使用して、認証情報を確認します。
  • 暗号化された接続がサーバーでサポートされているかどうかを確認します。
  • Domo IPがホワイトリストに登録されているかどうかを確認します。