サポート » 使い方全般 » 別サーバのMySQLへの接続

  • これまでクラウド上でテスト運用していたシステムを一般公開するため、MySQL5.7を別サーバに移してセキュリティを向上しようと考えています。Wordpressをインストールしているサーバ共にWindows Server2012 R2ですが、Wordpressから接続できなくなりました。
    No.1 WordPressサーバ(内部IP:10.1.0.2) Windows Server2012 R2
    No.2 MySQLサーバ(内部IP:10.1.0.6) Windows Server2012 R2

    チェック及び実施した内容は以下です。
    1)MySQLのアカウントをどこからでもアクセスできるようにした。(Hostname:%)
    2)wp-config.php のdefine(‘DB_HOST’, ‘localhost’); → ’10.1.0.6’に変更
    3)Windows ServerのFirewallに3306ポートが設置されていることを確認
    4)No.1サーバからNo.2サーバに対して、phpmyadminでNo.2のMySQLに接続できることを確認
      (http://10.1.0.6/phpmyadmin)
    でもNo1のWordpressからNo.2のMySQLに接続できません。
    対策についてご存じの方おられましたらご教示ください。

    • このトピックは shige3が2 年、 8 ヶ月前に変更しました。
6件の返信を表示中 - 1 - 6件目 (全6件中)
  • – MySQL(No.2)に作成した、WordPress用のデータベースのユーザーは、外部からアクセスできるようになってますか
    ユーザーを作成するときに localhost 等設定できるはずです。

    また No.1 から mysql コマンド(No.1にもMySQLシステムを導入する等して)で
    No.1 の該当 データベースにアクセスできるか確認するのが確実ではあります。
    参考:http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/db/mysql/%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E8%A8%B1%E5%8F%AF%E8%A8%AD%E5%AE%9A

    kimipoohさん

    アドバイスありがとうござます。
    解決しました。
    Windows ServerのFirewallの設定の問題でした。
    No.1サーバから以下のコマンドを送ったところ
    mysql – u root –h 10.1.0.6 –p
    以下のエラーが返ってきました。
    ERROR 2003(HY000) : can’t connect to mysql server on ’10.1.0.6’ (10060)
    試しにNo.1にMySQLをインストールし、同様のコマンドを送信したところ接続できました。
    No.1とNo.2の違いはWindows FirewallのOutband ruleに3306を設置したかしないかで
    No.2のOutband ruleに3306を設置したら接続できるようになりました。
    何故、Outband ruleに入れると接続できるようになったのかは不明です。

    どうもありがとうございました。

    No2. の送信の規則の方で 3306/tcpを有効にしたら行けたってことですかね。
    それは謎ですね、、おかしいなぁ。

    No.2 の受信の規則で、ローカルポートに対して 3306/tcpを許可したらいけるはずですよねぇ。

    はい、不思議です。
    Azureを使っているのですが、ロードバランサーなど全て3306を開けたのですが、No.2の送信側だけ開いていませんでした。
    No.1にMySQLを入れて、No.2からお試し接続をしなければ永遠にわからなかったと思います。
    ただ、接続できる理由がわからないのでこのまま運用していいのか悩むところです。

    Azure WebSites で自分専用の MySQL Server を作成する

    注: 「Access denied (アクセスが拒否されました)」や 「Host ‘xxx.xx.xxx.xxx’ is not allowed to connect to this MySQL server (ホスト ‘xxx.xx.xxx.xxx’ はこの MySQL Server への接続が許可されていません)」 などのエラー メッセージが表示された場合は、次の項目を確認します。

    • ファイアウォール用の 3306 番ポートが受信側と送信側の両方で開かれているか
    • 接続に使用しているユーザーが MySQL Server でリモート接続を許可されているか。ユーザーがホスト列でワイルドカードの「%」に関連付けられ、任意のリモート IP が許可されているかどうかを、mysql.host テーブルで確認します。

    こちら話題についていくことも、リンク先に送信と受信とかいてある理由もわかりませんが。

    oisitさん

    アドバイスありがとうござます。
    ご指摘の内容は対応していたので、接続できない理由がわかりませんでした。
    DBサーバの送信ポートに3306を設定してようやく接続できたのですが、接続できた理由がわかりません。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「別サーバのMySQLへの接続」には新たに返信することはできません。