前書き

データベースサーバーには、重要なデータでいっぱいのテーブルが含まれています。 ローカルコンピュータでこのデータをグラフィカルに照会することが、データベースと対話する最も簡単な方法です。 ただし、データベースサーバーにリモートで接続するには、通常、すべてのインターフェイスでリッスンするようにMySQLを構成し、ファイアウォールでポート「3306」へのアクセスを制限し、認証のユーザーおよびホストのアクセス許可を構成する必要があります。 また、MySQLへの直接接続を許可することは、セキュリティ上の問題になる可能性があります。

HeidiSQL for Windows、http://sequelpro.com/ [Sequel Pro] for macOS、またはクロスプラットフォームhttp://www.mysql.com/productsなどのツールを使用する/ workbench / [MySQL Workbench]を使用すると、SSHを介してデータベースに安全に接続し、面倒で安全でない可能性のある手順をバイパスできます。 この短いチュートリアルでは、MySQL Workbenchを使用してリモートデータベースに接続する方法を示します。

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • SSH経由でアクセス可能なMySQLを実行しているサーバー。 たとえば、チュートリアルhttps://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04[Ubuntu 14.04にMySQLをインストールする方法]に従って、起動して、すぐに実行します。

  • ローカルマシンにインストールされたMySQLWorkbench。Windows、macOS、Ubuntu Linux、RedHat Linux、Fedoraなどのすべての主要プラットフォームで使用できます。 MySQL Workbench Downloads pageにアクセスして、オペレーティングシステムのインストーラーをダウンロードします。

また、使用する予定のデータベースサーバーに関する次の情報も必要になります。

  • MySQLを実行しているサーバーのパブリックIPアドレス。

  • ポート「22」とは異なる構成の場合、サーバーのSSHポート。

  • パスワードまたは公開キーを持つ、サーバーへのSSHアクセスを持つユーザーアカウント。

  • 使用するMySQLアカウントのユーザー名とパスワード。

SSHを使用したデータベースサーバーへの接続

MySQL Workbenchをコンピューターにインストールしたら、プログラムを起動します。 メインウィンドウの* MySQL Connections の横にある + *アイコンをクリックして、新しい接続を作成します。

次の図のような[データベースに接続]ウィンドウが表示されます。

画像:https://assets.digitalocean.com/articles/mysql_workbench_ssh/G6koxy9.png [mac]

接続を作成するには、次の詳細を入力します。

  1. [接続名]には、後で行う接続を識別するのに役立つ任意の名前を入力します。 これは、「+ database_for_myapp +」のようなものか、より説明的なものです。

  2. *接続方法*を*標準TCP / IP over SSH *に変更します。

  3. * SSHホスト名*には、MySQLサーバーのIPアドレスを入力します。 サーバーが別のポートでSSH接続を受け入れる場合は、IPアドレスを入力し、その後にコロンとポート番号を入力します。

  4. * SSHユーザー名*には、SSH経由でサーバーにログインするために使用するユーザー名を入力します。

  5. * SSHパスワード*には、SSHユーザーに使用するパスワードを入力します。 パスワードの代わりに公開キーを使用する場合は、認証にSSHキーを選択します。

  6. * MySQL Hostname および MySQL Server Port *には、デフォルト値を使用します。

  7. * Username *には、MySQLユーザー名を入力します。

  8. * Password *の場合、パスワードを入力するか、空白のままにすることができます。 MySQL WorkbenchにMySQLパスワードを保存しない場合、データベースへの接続を試みるたびにプロンプ​​トがパスワードを要求します。

  9. [接続のテスト]を選択して、設定が正しいことを確認します。

  10. * OK *を選択して接続を作成します。

データベースに接続すると、データベースステータス、現在の接続、データベース構成、ユーザーや権限など、MySQLインスタンスの詳細を表示できます。 MySQL Workbenchは、MySQLダンプファイルのインポートとエクスポートもサポートしているため、データベースをすばやくバックアップおよび復元できます。

データベースは、左側のナビゲーションバーの* SCHEMAS *エリアにリストされます。 各データベースの横にあるドロップダウン矢印を使用すると、データベースのテーブルとオブジェクトを展開してナビゲートできます。 次の図に示すように、MySQL Workbenchのこの領域からテーブルデータを簡単に表示し、複雑なクエリを作成し、データを編集できます。

image:https://assets.digitalocean.com/articles/mysql_workbench_ssh/t0QrK2T2.png [MySQL Workbenchのテーブルクエリ]

接続を管理するには、*データベース*メニューを選択し、*データベースに接続*オプションを選択するか、Macの場合は `⌘U`を、WindowsおよびLinuxシステムの場合は `+ CTRL + U +`を押します。 別のデータベースに接続するには、最初の接続に使用したのと同じプロセスを使用して新しい接続を作成します。

結論

MySQLワークベンチを使用してSSHトンネルを介してリモートMySQLデータベースにアクセスすることは、ローカルコンピューターの快適さからデータベースを管理するためのシンプルで安全な方法です。 このチュートリアルの接続方法を使用すると、リモートMySQL接続に通常必要な複数のネットワークおよびセキュリティ構成の変更をバイパスできます。