データベース接続をテストする

新しい環境のトラブルシューティングを行う際には、多くの場合、動作しているさまざまなコンポーネントを分離し、できる限りシンプルにそれらを独立してテストすることをおすすめします。

Looker サーバーとデータベースの間の接続をテストするには、Looker サーバーで Telnet を使用してシンプルな TCP 接続を作成します。Telnet を使用するメリットは非常にシンプルです。変更する構成ファイルがなく、認証も必要ありません。Telnet は接続を行うか、接続しないかのどちらかになります。

データベースにアクセスできることがわかったら、データベースのネイティブ クライアントや Looker などのアプリケーションを介してテストに進むことができます。

Telnet のインストール

ホストによっては、Telnet がプリインストールされている場合があります。これをテストするには、Looker サーバーで次のコマンドを実行します。

telnet ?

次のように表示されます。

usage: telnet [-l user] [-a] [-s src_addr] host-name [port]

「コマンドが見つかりません」というエラーが表示される場合は、Telnet をインストールする必要があります。

Ubuntu の場合:

sudo apt-get install telnet

Redhat/CentOS:

yum install telnet

デフォルト ポート

データベースがどのポートで実行されているかを把握しておく必要があります。次の表に、多くのプラットフォームのデフォルト ポートを示します。ただし、データベースは別のポートで実行されるように構成することもできます。データベースの管理者にお問い合わせください。

プラットフォーム ポート
Amazon Redshift 5439
グリーンプラム 5432
Microsoft SQL Server(MSSQL) 1433
MySQL 3306
Oracle 1521
PostgreSQL 5432
Vertica 5433

Telnet でデータベースに接続する

データベースへの接続をテストするには、Looker サーバーで telnet hostname port を実行します。たとえば、MySQL をデフォルト ポートで実行していて、データベース名が mydb の場合、コマンドは telnet mydb 3306 になります。

接続が機能している場合は、次のように表示されます。

Trying 10.10.10.10...
Connected to mydb.
Escape character is '^]'.

接続が機能していない場合は、次のように表示されます。

Trying 10.10.10.10...
telnet: Unable to connect to remote host: Connection timed out
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
telnet: could not resolve mydb/telnet: Name or service not known

トラブルシューティング

Telnet チェックに失敗した場合は、次を検討してください。

  • ホスト名は正しいですか?
  • データベースと Looker サーバーは、ネットワーク トラフィックを許可するように構成されていますか?両方のホストにインストールされているファイアウォール ソフトウェアを確認します。
  • Looker サーバーとデータベース ホストとの間のすべてのネットワークが、ネットワーク トラフィックを許可するように構成されているか。ファイアウォールとネットワークのアクセス制御リスト(ACL)を確認します。
  • Looker サーバーとデータベース ホストとの間のすべてのネットワークが、ホスト間のトラフィックをルーティングするように構成されているか。
  • データベース サーバーは実行中で、正しいポートでリッスンしているか、また、Looker サーバーからの接続を許可するように構成されていますか?

次のステップ

Looker サーバーからデータベース サーバーに Telnet 接続できる場合は、基本的な接続の問題を排除できます。次のステップでは、Looker データベース接続を作成します。