sql >> データベース >  >> RDS >> Mysql

リモートMySQL接続を設定する方法

    この記事では、ローカルコンピューターを使用して、A2ホスティングサーバーにリモートで保存されているMySQLデータベースに接続する方法について説明します。

    リモートMySQL接続方法を選択してください

    次のいずれかの方法を使用して、MySQLデータベースにリモートでアクセスできます。

    • SSHトンネル: これはより安全な方法です。ローカルコンピューターのポートをリモートMySQLサーバーに転送するSSHトンネルを設定します。 MySQLトラフィックはSSHトンネルによって暗号化されます。
    • 直接接続: ローカルコンピュータとリモートMySQLサーバー間の直接接続を設定できます。構成は簡単ですが、それほど安全ではありません。

    リモートMySQL接続を設定した後、MySQLクライアントアプリケーションを使用してデータベースを管理できます。詳細については、こちらの記事をご覧ください。

    方法#1:SSHトンネルを設定する

    ローカルコンピューターとA2ホスティングサーバーの間にSSHトンネルを設定するために従う手順は、ローカルコンピューターのオペレーティングシステムによって異なります。

    Microsoft Windows

    Microsoft Windowsを実行しているコンピューターでSSHトンネルを使用するには、SSHクライアントプログラムが必要です。 A2 Hostingは、ここからダウンロードできるPuTTYの使用を推奨しています。 PuTTY実行可能ファイルをローカルコンピューターにダウンロードしたら、SSHトンネルを設定できます。

    Microsoft Windowsを実行しているコンピューターにSSHトンネルを設定するには:

    1. PuTTYを起動します。
    2. [カテゴリ]ペインで、[接続]、[SSH]の順に展開し、[トンネル]をクリックします。
    3. [ポート転送]セクションの[送信元ポート]テキストボックスに「3306」と入力します。これは転送するローカルポートです。[宛先]テキストボックスに「localhost:3306」と入力します。
    4. [ローカル]および[自動]ラジオボタンが選択されていることを確認します。
    5. [追加]をクリックします:

    6. [カテゴリ]ペインで、[セッション]をクリックします。
    7. [ホスト名(またはIPアドレス)]テキストボックスに、Webサイトのドメイン名またはIPアドレスを入力します。
    8. [ポート]テキストボックスに、7822と入力します。
    9. [接続の種類]ラジオボタンがSSHに設定されていることを確認します。
    10. [開く]をクリックします。

    11. サーバーのホストキーに関するPuTTYセキュリティアラートが表示された場合は、[はい]をクリックします。
    12. ログインプロンプトが表示されたら、A2 Hostingのユーザー名を入力してから、パスワードを入力します。
    13. リモートサーバーのコマンドラインプロンプトが表示されると、SSHトンネルが確立され、ローカルコンピューターでMySQLクライアントアプリケーションを使用できます。

      PuTTYがポートを正しく転送していることを確認するには、PuTTYセッションウィンドウの左上隅にあるアイコンをクリックしてから、[イベントログ]をクリックします。ポートフォワーディングが正しく機能している場合は、次のような行が表示されます。

      ローカルポート3306をlocalhost:3306に転送

    MacOSXおよびLinux

    Mac OS XまたはLinuxを実行しているコンピューターでSSHトンネルを確立するには:

    1. ターミナルウィンドウを開き、コマンドラインで次のコマンドを入力します。 ユーザー名を置き換えます A2 Hostingのユーザー名に置き換え、 example.com を置き換えます サイトのドメイン名:
      ssh -p 7822 [email protected] -L 3306:localhost:3306
    2. パスワードを入力し、Enterキーを押します。リモートサーバーのコマンドラインプロンプトが表示されると、SSHトンネルが確立され、ローカルコンピューターでMySQLクライアントアプリケーションを使用できます。

    方法#2:直接接続を設定する

    ローカルコンピューターとMySQLサーバー間の直接接続を設定するには、cPanelでリモートMySQLアクセスを有効にする必要があります。これを行う方法については、この記事を参照してください。

    ODBC接続の例

    次の手順は、リモートODBC接続を構成する方法を示しています。

    1. ODBCデータソースアドミニストレータを起動します。
    2. [追加]をクリックして、新しいデータソースを追加します。
    3. [新しいデータソースの作成]ダイアログボックスで、MySQLODBCドライバーをクリックします。
    4. [完了]をクリックして、MySQL Connector/ODBCデータソースの構成を開始します。
    5. [MySQL Connector / ODBCデータソースの構成]ダイアログボックスの[データソース名]テキストボックスに、データソースのわかりやすい名前を入力します。
    6. TCP/IPサーバーが選択されていることを確認します。
    7. 次のいずれかを実行します:
      • SSHトンネルを使用している場合は、[TCP/IPサーバー]テキストボックスに「localhost」と入力します。
      • 直接接続を使用している場合は、[TCP / IPサーバー]テキストボックスに、リモートサーバーのドメインまたはIPアドレスを入力します。
    8. [ポート]テキストボックスに、3306と入力します。
    9. [ユーザー]テキストボックスに、リモートデータベースに接続できるデータベースのユーザー名を入力します。
    10. [パスワード]テキストボックスに、ユーザー名のパスワードを入力します。
    11. 接続をテストするには、[テスト]をクリックします。

    12. オプションで、[データベース]リストボックスを使用して、接続用の初期データベースを選択できます。
    13. 構成を完了するには、[OK]をクリックします。
    トラブルシューティング

    ローカルコンピューターで開発作業を行っている場合は、MySQLのローカルコピーがすでにポート3306で実行されている可能性があります。この場合、次の接続エラーが表示されます。

    この問題を回避するには、代替ローカルポートを使用してトンネルを作成し、そのポートでリモートMySQLサーバーに接続します。

    1. Puttyを使用してトンネルを作成する場合は、トンネル構成ページで代替の送信元ポートを使用してください。この例では、ポート3307が使用されています。

      セッション構成は変更されません。

    2. Mac OS XまたはLinuxの場合、次のSSHコマンドを使用して、ローカルポートが3307のトンネルを作成します。 usernameを置き換えます。 A2 Hostingのユーザー名に置き換え、 example.com を置き換えます あなたのサイトのドメイン名で:

      ssh -p 7822 [email protected] -L 3307:localhost:3306
    3. 前に説明したようにODBC接続を作成しますが、[ポート]テキストボックスに(3306ではなく)3307と入力します。

    4. これで接続できるようになります。
    詳細情報

    PuTTYのオンラインドキュメントを表示するには、http://the.earth.li/~sgtatham/putty/0.60/htmldoc/index.htmlにアクセスしてください。


    1. データベースインデックスの数が多すぎますか?

    2. ScaleGridDBaaSの2要素認証の有効化

    3. CTEエラー:アンカーと再帰部分の間でタイプが一致しません

    4. 警告:mysqli_query()は、パラメーター1がmysqliであり、リソースが指定されていることを想定しています。